0022627: Change OCCT memory management defaults
[occt.git] / src / IntCurve / IntCurve_IntCurveCurveGen.cdl
CommitLineData
7fd59977 1-- File: IntCurveCurveGen.cdl
2-- Created: Fri May 22 14:20:59 1992
3-- Author: Jacques GOUSSARD
4-- <jag@sdsun1>
5---Copyright: Matra Datavision 1992
6
7
8generic class IntCurveCurveGen from IntCurve (
9 TheCurve as any;
10 TheCurveTool as any) -- as CurveTool from IntCurve(TheCurve)
11
12 ---Purpose: Provides the algorithm to intersect two 2D-curves.
13 -- The curves may be parametric curves or Conic (see
14 -- the template class CurveTool).
15 --
16 -- Note: The exception ConstructionError is raised in
17 -- constructors or in Perform methods when a domain
18 -- (Domain from IntRes2d) is not correct, i-e when
19 -- the method TheType returns GeomAbs_Circle or
20 -- GeomAbs_Ellipsei and the corresponding domain is
21 -- not closed (use the SetEquivalentParameters for a
22 -- domain on a circle or an ellipse) or when the
23 -- method TheType returns GeomAbs_Other and the
24 -- domain of the curve is not bounded
25 -- (HasFirstPoint() && HasLastPoint() return True).
26 ---Level: Advanced
27
28inherits Intersection from IntRes2d
29
30uses Domain from IntRes2d,
31 IntConicConic from IntCurve,
32 IConicTool from IntCurve,
33 Array1OfReal from TColStd
34
35raises ConstructionError from Standard
36
37
38 class TheProjPCur instantiates ProjPCurGen from IntCurve(
39 TheCurve,
40 TheCurveTool);
41
42 class TheIntConicCurve instantiates IntConicCurveGen from IntCurve
43 (IConicTool from IntCurve,
44 TheCurve,
45 TheCurveTool,
46 TheProjPCur);
47
48 class IntConicCurve instantiates UserIntConicCurveGen from IntCurve
49 (IConicTool from IntCurve,
50 TheCurve,
51 TheCurveTool,
52 TheIntConicCurve);
53
54 class TheIntPCurvePCurve instantiates IntPolyPolyGen from IntCurve
55 (TheCurve,
56 TheCurveTool,
57 TheProjPCur);
58is
59
60 Create
61
62 ---Purpose: Empty constructor.
63 returns IntCurveCurveGen from IntCurve;
64 ---C++: inline
65
66
67 Create (C: TheCurve; TolConf,Tol: Real from Standard)
68
69 ---Purpose: Self Intersection of a curve
70 ---C++: inline
71 returns IntCurveCurveGen from IntCurve
72 raises ConstructionError from Standard;
73
74
75 Create (C: TheCurve; D: Domain from IntRes2d;
76 TolConf,Tol: Real from Standard)
77
78 ---Purpose: Self Intersection of a curve with a domain.
79 ---C++: inline
80 returns IntCurveCurveGen from IntCurve
81 raises ConstructionError from Standard;
82
83
84 Create (C1: TheCurve; C2: TheCurve;
85 TolConf,Tol: Real from Standard)
86
87 ---Purpose: Intersection between 2 curves.
88 ---C++: inline
89 returns IntCurveCurveGen from IntCurve
90 raises ConstructionError from Standard;
91
92
93 Create (C1: TheCurve; D1: Domain from IntRes2d;
94 C2: TheCurve;
95 TolConf,Tol: Real from Standard)
96
97 ---Purpose: Intersection between 2 curves.
98 ---C++: inline
99 returns IntCurveCurveGen from IntCurve
100 raises ConstructionError from Standard;
101
102
103 Create (C1: TheCurve;
104 C2: TheCurve; D2: Domain from IntRes2d;
105 TolConf,Tol: Real from Standard)
106
107 ---Purpose: Intersection between 2 curves.
108 ---C++: inline
109 returns IntCurveCurveGen from IntCurve
110 raises ConstructionError from Standard;
111
112
113
114 Create (C1: TheCurve; D1: Domain from IntRes2d;
115 C2: TheCurve; D2: Domain from IntRes2d;
116 TolConf,Tol: Real from Standard)
117
118 ---Purpose: Intersection between 2 curves.
119 ---C++: inline
120 returns IntCurveCurveGen from IntCurve
121 raises ConstructionError from Standard;
122
123
124
125 Perform (me: in out;
126 C1: TheCurve; D1: Domain from IntRes2d;
127 C2: TheCurve; D2: Domain from IntRes2d;
128 TolConf,Tol: Real from Standard)
129 ---Purpose: Intersection between 2 curves.
130
131 raises ConstructionError from Standard
132 is static;
133
134 Perform (me: in out;
135 C1: TheCurve;
136 C2: TheCurve;
137 TolConf,Tol: Real from Standard)
138
139 ---Purpose: Intersection between 2 curves.
140 ---C++: inline
141 raises ConstructionError from Standard
142 is static;
143
144 Perform (me: in out;
145 C1: TheCurve; D1: Domain from IntRes2d;
146 TolConf,Tol: Real from Standard)
147
148 ---Purpose: Intersection between 2 curves.
149 raises ConstructionError from Standard
150 is static;
151
152 Perform (me: in out;
153 C1: TheCurve;
154 TolConf,Tol: Real from Standard)
155
156 ---Purpose: Intersection between 2 curves.
157
158 raises ConstructionError from Standard
159 is static;
160
161 Perform (me: in out;
162 C1: TheCurve; D1: Domain from IntRes2d;
163 C2: TheCurve;
164 TolConf,Tol: Real from Standard)
165 ---C++: inline
166 ---Purpose: Intersection between 2 curves.
167
168 raises ConstructionError from Standard
169 is static;
170
171 Perform (me: in out;
172 C1: TheCurve;
173 C2: TheCurve; D2: Domain from IntRes2d;
174 TolConf,Tol: Real from Standard)
175 ---C++: inline
176 ---Purpose: Intersection between 2 curves.
177
178 raises ConstructionError from Standard
179 is static;
180
181
182 ComputeDomain(me; C1: TheCurve; TolDomain: Real from Standard)
183
184 ---Purpose: Create a domain from a curve
185 returns Domain from IntRes2d
186 is static;
187
188
189
190 InternalPerform(me: in out;
191 C1: TheCurve; D1: Domain from IntRes2d;
192 C2: TheCurve; D2: Domain from IntRes2d;
193 TolConf,Tol: Real from Standard;
194 Composite: Boolean from Standard)
195
196 ---Purpose: Intersection between 2 curves.
197
198 raises ConstructionError from Standard
199 is static private;
200
201
202 InternalCompositePerform(me: in out;
203 C1: TheCurve; D1: Domain from IntRes2d;
204 N1,NB1: Integer from Standard;
205 Tab1: Array1OfReal from TColStd;
206 C2: TheCurve; D2: Domain from IntRes2d;
207 N2,NB2: Integer from Standard;
208 Tab2: Array1OfReal from TColStd;
209 TolConf,Tol: Real from Standard;
210 Composite: Boolean from Standard)
211
212 ---Purpose: Intersection between 2 curves.
213
214 raises ConstructionError from Standard
215 is static private;
216
217
218fields
219
220 param1inf : Real from Standard;
221 param1sup : Real from Standard;
222 param2inf : Real from Standard;
223 param2sup : Real from Standard;
224 intconiconi : IntConicConic from IntCurve;
225 intconicurv : TheIntConicCurve;
226 intcurvcurv : TheIntPCurvePCurve;
227
228end IntCurveCurveGen;
229
230
231
232
233