0024915: Wrong intersection curves between two cylinders
[occt.git] / src / IntPatch / IntPatch_ImpImpIntersection.cdl
CommitLineData
b311480e 1-- Created on: 1992-05-07
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1992-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class ImpImpIntersection from IntPatch
18
19 ---Purpose: Implementation of the intersection between two
20 -- quadric patches : Plane, Cone, Cylinder or Sphere.
21
22
23uses HSurface from Adaptor3d,
24 TopolTool from Adaptor3d,
25 Point from IntPatch,
26 SequenceOfPoint from IntPatch,
27 TheSOnBounds from IntPatch,
28 SequenceOfLine from IntPatch,
29 Line from IntPatch
30
31
32raises NotDone from StdFail,
33 OutOfRange from Standard,
34 DomainError from Standard,
35 ConstructionError from Standard
36
37is
38
39
40 Create
41
42 returns ImpImpIntersection from IntPatch;
43
44
45 Create (S1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
46 S2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
47 TolArc,TolTang: Real from Standard)
48
49 returns ImpImpIntersection from IntPatch
50
51 raises ConstructionError from Standard;
52
53
54 Perform (me: in out;
55 S1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
56 S2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
ecc4f148 57 TolArc,TolTang: Real from Standard;
58 isTheTrimmed: Boolean from Standard = Standard_False)
7fd59977 59
60 raises ConstructionError from Standard
61
62 is static;
63
64
65 IsDone(me)
66
67 ---Purpose: Returns True if the calculus was succesfull.
68
69 returns Boolean from Standard
70 ---C++: inline
71
72 is static;
73
74
75 IsEmpty(me)
76
77 ---Purpose: Returns true if the is no intersection.
78
79 returns Boolean from Standard
80 ---C++: inline
81
82 raises NotDone from StdFail
83
84 is static;
85
86
87 TangentFaces(me)
88
89 ---Purpose: Returns True if the two patches are considered as
90 -- entierly tangent, i-e every restriction arc of one
91 -- patch is inside the geometric base of the otehr patch.
92
93 returns Boolean from Standard
94 ---C++: inline
95
96 raises NotDone from StdFail
97
98 is static;
99
100
101 OppositeFaces(me)
102
103 ---Purpose: Returns True when the TangentFaces returns True and the
104 -- normal vectors evaluated at a point on the first and the
105 -- second surface are opposite.
106 -- The exception DomainError is raised if TangentFaces
107 -- returns False.
108
109 returns Boolean from Standard
110 ---C++: inline
111
112 raises NotDone from StdFail,
113 DomainError from Standard
114
115 is static;
116
117
118 NbPnts(me)
119
120 ---Purpose: Returns the number of "single" points.
121
122 returns Integer from Standard
123 ---C++: inline
124
125 raises NotDone from StdFail
126
127 is static;
128
129
130 Point(me; Index: Integer from Standard)
131
132 ---Purpose: Returns the point of range Index.
133 -- An exception is raised if Index<=0 or Index>NbPnt.
134
135 returns Point from IntPatch
136 ---C++: return const&
137 ---C++: inline
138
139 raises NotDone from StdFail,
140 OutOfRange from Standard
141
142 is static;
143
144
145 NbLines(me)
146
147 ---Purpose: Returns the number of intersection lines.
148
149 returns Integer from Standard
150 ---C++: inline
151
152 raises NotDone from StdFail
153
154 is static;
155
156
157 Line(me; Index: Integer from Standard)
158
159 ---Purpose: Returns the line of range Index.
160 -- An exception is raised if Index<=0 or Index>NbLine.
161
162 returns Line from IntPatch
163 ---C++: inline
164 ---C++: return const&
165
166 raises NotDone from StdFail,
167 OutOfRange from Standard
168
169 is static;
170
171
172fields
173
174 done : Boolean from Standard;
175 empt : Boolean from Standard;
176 tgte : Boolean from Standard;
177 oppo : Boolean from Standard;
7fd59977 178 spnt : SequenceOfPoint from IntPatch;
179 slin : SequenceOfLine from IntPatch;
180 solrst : TheSOnBounds from IntPatch;
181
182end ImpImpIntersection;