0024157: Parallelization of assembly part of BO
[occt.git] / src / GccIter / GccIter_Circ2d2TanOn.cdl
CommitLineData
b311480e 1-- Created on: 1991-03-29
2-- Created by: Remi GILET
3-- Copyright (c) 1991-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22generic class Circ2d2TanOn from GccIter (
23 TheCurve as any;
24 TheCurveTool as any;
25 TheQualifiedCurve as any) -- as QualifiedCurve from GccEnt
26 -- (TheCurve)
27
28 ---Purpose: This class implements the algorithms used to
29 -- create 2d circles TANgent to 2 entities and
30 -- having the center ON a curv.
31 -- The order of the tangency argument is always
32 -- QualifiedCirc, QualifiedLin, QualifiedCurv, Pnt2d.
33 -- the arguments are :
34 -- - The two tangency arguments.
35 -- - The center line.
36 -- - The parameter for each tangency argument which
37 -- is a curve.
38 -- - The tolerance.
39
40-- inherits Entity from Standard
41
42uses Pnt2d from gp,
43 Lin2d from gp,
44 Circ2d from gp,
45 QualifiedCirc from GccEnt,
46 QualifiedLin from GccEnt,
47 Position from GccEnt
48
49raises NotDone from StdFail
50
51private class FuncTCuCuOnCu instantiates FunctionTanCuCuOnCu from GccIter (
52 TheCurve,TheCurveTool);
53is
54
55-- On a 2d line ..........................................................
56
57Create(Qualified1 : QualifiedCirc ;
58 Qualified2 : TheQualifiedCurve ;
59 OnLine : Lin2d ;
60 Param1 : Real ;
61 Param2 : Real ;
62 Param3 : Real ;
63 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
64 ---Purpose: This method implements the algorithms used to
65 -- create 2d circles TANgent to a 2d circle and a curve and
66 -- having the center ON a 2d line.
67 -- Param2 is the initial guess on the curve QualifiedCurv.
68 -- Tolerance is used for the limit cases.
69
70Create(Qualified1 : QualifiedLin ;
71 Qualified2 : TheQualifiedCurve ;
72 OnLine : Lin2d ;
73 Param1 : Real ;
74 Param2 : Real ;
75 Param3 : Real ;
76 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
77 ---Purpose: This method implements the algorithms used to
78 -- create 2d circles TANgent to a 2d line and a curve and
79 -- having the center ON a 2d line.
80 -- Param2 is the initial guess on the curve QualifiedCurv.
81 -- Tolerance is used for the limit cases.
82
83Create(Qualified1 : TheQualifiedCurve ;
84 Qualified2 : TheQualifiedCurve ;
85 OnLine : Lin2d ;
86 Param1 : Real ;
87 Param2 : Real ;
88 Param3 : Real ;
89 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
90 ---Purpose: This method implements the algorithms used to
91 -- create 2d circles TANgent to two curves and
92 -- having the center ON a 2d line.
93 -- Param1 is the initial guess on the first QualifiedCurv.
94 -- Param2 is the initial guess on the first QualifiedCurv.
95 -- Tolerance is used for the limit cases.
96
97Create(Qualified1 : TheQualifiedCurve ;
98 Point2 : Pnt2d ;
99 OnLine : Lin2d ;
100 Param1 : Real ;
101 Param2 : Real ;
102 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
103 ---Purpose: This method implements the algorithms used to
104 -- create 2d circles TANgent to a 2d point and a curve and
105 -- having the center ON a 2d line.
106 -- Param2 is the initial guess on the curve QualifiedCurv.
107 -- Tolerance is used for the limit cases.
108
109
110-- -- On a 2d Circle .....................................................
111
112Create(Qualified1 : QualifiedCirc ;
113 Qualified2 : TheQualifiedCurve ;
114 OnCirc : Circ2d ;
115 Param1 : Real ;
116 Param2 : Real ;
117 Param3 : Real ;
118 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
119 ---Purpose: This method implements the algorithms used to
120 -- create 2d circles TANgent to a 2d circle and a curve and
121 -- having the center ON a 2d circle.
122 -- Param2 is the initial guess on the curve QualifiedCurv.
123 -- Tolerance is used for the limit cases.
124
125Create(Qualified1 : QualifiedLin ;
126 Qualified2 : TheQualifiedCurve ;
127 OnCirc : Circ2d ;
128 Param1 : Real ;
129 Param2 : Real ;
130 Param3 : Real ;
131 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
132 ---Purpose: This method implements the algorithms used to
133 -- create 2d circles TANgent to a 2d line and a curve and
134 -- having the center ON a 2d circle.
135 -- Param2 is the initial guess on the curve QualifiedCurv.
136 -- Tolerance is used for the limit cases.
137
138Create(Qualified1 : TheQualifiedCurve ;
139 Qualified2 : TheQualifiedCurve ;
140 OnCirc : Circ2d ;
141 Param1 : Real ;
142 Param2 : Real ;
143 Param3 : Real ;
144 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
145 ---Purpose: This method implements the algorithms used to
146 -- create 2d circles TANgent to two curves and
147 -- having the center ON a 2d circle.
148 -- Param1 is the initial guess on the first QualifiedCurv.
149 -- Param2 is the initial guess on the first QualifiedCurv.
150 -- Tolerance is used for the limit cases.
151
152Create(Qualified1 : TheQualifiedCurve ;
153 Point2 : Pnt2d ;
154 OnCirc : Circ2d ;
155 Param1 : Real ;
156 Param2 : Real ;
157 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
158 ---Purpose: This method implements the algorithms used to
159 -- create 2d circles TANgent to a 2d point and a curve and
160 -- having the center ON a 2d circle.
161 -- Param2 is the initial guess on the curve QualifiedCurv.
162 -- Tolerance is used for the limit cases.
163
164-- -- On a curve .....................................................
165
166Create(Qualified1 : QualifiedCirc ;
167 Qualified2 : TheQualifiedCurve ;
168 OnCurv : TheCurve ;
169 Param1 : Real ;
170 Param2 : Real ;
171 ParamOn : Real ;
172 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
173 ---Purpose: This method implements the algorithms used to
174 -- create 2d circles TANgent to a 2d circle and a curve and
175 -- having the center ON a 2d curve.
176 -- Param2 is the initial guess on the curve QualifiedCurv.
177 -- ParamOn is the initial guess on the center curve OnCurv.
178 -- Tolerance is used for the limit cases.
179
180Create(Qualified1 : QualifiedLin ;
181 Qualified2 : TheQualifiedCurve ;
182 OnCurve : TheCurve ;
183 Param1 : Real ;
184 Param2 : Real ;
185 ParamOn : Real ;
186 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
187 ---Purpose: This method implements the algorithms used to
188 -- create 2d circles TANgent to a 2d line and a curve and
189 -- having the center ON a 2d curve.
190 -- Param2 is the initial guess on the curve QualifiedCurv.
191 -- ParamOn is the initial guess on the center curve OnCurv.
192 -- Tolerance is used for the limit cases.
193
194Create(Qualified1 : TheQualifiedCurve ;
195 Point2 : Pnt2d ;
196 OnCurve : TheCurve ;
197 Param1 : Real ;
198 ParamOn : Real ;
199 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
200 ---Purpose: This method implements the algorithms used to
201 -- create 2d circles TANgent to a 2d Point and a curve and
202 -- having the center ON a 2d curve.
203 -- Param1 is the initial guess on the curve QualifiedCurv.
204 -- ParamOn is the initial guess on the center curve OnCurv.
205 -- Tolerance is used for the limit cases.
206
207Create(Qualified1 : TheQualifiedCurve ;
208 Qualified2 : TheQualifiedCurve ;
209 OnCurve : TheCurve ;
210 Param1 : Real ;
211 Param2 : Real ;
212 ParamOn : Real ;
213 Tolerance : Real ) returns Circ2d2TanOn from GccIter ;
214 ---Purpose: This method implements the algorithms used to
215 -- create 2d circles TANgent to two curves and
216 -- having the center ON a 2d curve.
217 -- Param1 is the initial guess on the first curve QualifiedCurv.
218 -- Param1 is the initial guess on the second curve QualifiedCurv.
219 -- ParamOn is the initial guess on the center curve OnCurv.
220 -- Tolerance is used for the limit cases.
221
222-- -- ....................................................................
223
224IsDone(me) returns Boolean
225is static;
226 ---Purpose: This method returns True if the construction
227 -- algorithm succeeded.
228
229ThisSolution(me) returns Circ2d
230 ---Purpose: Returns the solution.
231raises NotDone from StdFail
232is static;
233 ---Purpose: It raises NotDone if the construction algorithm
234 -- didn't succeed.
235
236WhichQualifier(me ;
237 Qualif1 : out Position from GccEnt;
238 Qualif2 : out Position from GccEnt)
239raises NotDone from StdFail
240is static;
241 -- It returns the informations about the qualifiers of the tangency
242 -- arguments concerning the solution number Index.
243 -- It returns the real qualifiers (the qualifiers given to the
244 -- constructor method in case of enclosed, enclosing and outside
245 -- and the qualifiers computedin case of unqualified).
246
247Tangency1(me ;
248 ParSol,ParArg : out Real ;
249 PntSol : out Pnt2d)
250 ---Purpose: Returns information about the tangency point between
251 -- the result and the first argument.
252 -- ParSol is the intrinsic parameter of the point PntSol
253 -- on the solution curv.
254 -- ParArg is the intrinsic parameter of the point PntSol
255 -- on the argument curv.
256raises NotDone from StdFail
257is static;
258 ---Purpose: It raises NotDone if the construction algorithm
259 -- didn't succeed.
260
261Tangency2(me ;
262 ParSol,ParArg : out Real ;
263 PntSol : out Pnt2d)
264 ---Purpose: Returns information about the tangency point between
265 -- the result and the second argument.
266 -- ParSol is the intrinsic parameter of the point PntSol
267 -- on the solution curv.
268 -- ParArg is the intrinsic parameter of the point PntSol
269 -- on the argument curv.
270raises NotDone from StdFail
271is static;
272 ---Purpose: It raises NotDone if the construction algorithm
273 -- didn't succeed.
274
275CenterOn3 (me ;
276 ParArg : out Real ;
277 PntSol : out Pnt2d)
278 ---Purpose: Returns information about the center (on the curv) of the
279 -- result and the third argument.
280raises NotDone from StdFail
281is static;
282 ---Purpose: It raises NotDone if the construction algorithm
283 -- didn't succeed.
284
285IsTheSame1(me) returns Boolean
286 -- Returns True if the solution is equal to the first argument.
287raises NotDone from StdFail
288is static;
289 ---Purpose: It raises NotDone if the construction algorithm
290 -- didn't succeed.
291
292IsTheSame2(me) returns Boolean
293 -- Returns True if the solution is equal to the second argument.
294raises NotDone from StdFail
295is static;
296 ---Purpose: It raises NotDone if the construction algorithm
297 -- didn't succeed.
298
299fields
300
301 WellDone : Boolean;
302 ---Purpose: True if the algorithm succeeded.
303
304 cirsol : Circ2d from gp;
305 -- The solutions.
306
307 qualifier1 : Position from GccEnt;
308 -- The qualifiers of the first argument.
309
310 qualifier2 : Position from GccEnt;
311 -- The qualifiers of the first argument.
312
313 TheSame1 : Boolean;
314 ---Purpose: True if the solution and the first argument are the
315 -- same in the tolerance of Tolerance.
316 -- False in the other cases.
317
318 TheSame2 : Boolean;
319 ---Purpose: True if the solution and the second argument are the
320 -- same in the tolerance of Tolerance.
321 -- False in the other cases.
322
323 pnttg1sol : Pnt2d;
324 ---Purpose: The tangency point between the solution and the first
325 -- argument on the solution.
326
327 pnttg2sol : Pnt2d;
328 ---Purpose: The tangency point between the solution and the second
329 -- argument on the solution.
330
331 pntcen : Pnt2d;
332 ---Purpose: The center point of the solution on the third argument.
333
334 par1sol : Real;
335 ---Purpose: The parameter of the tangency point between the
336 -- solution and the first argument on the solution.
337
338 par2sol : Real;
339 ---Purpose: The parameter of the tangency point between the
340 -- solution and the second argument on the solution.
341
342 pararg1 : Real;
343 ---Purpose: The parameter of the tangency point between the
344 -- solution and the first argument on the first argument.
345
346 pararg2 : Real;
347 ---Purpose: The parameter of the tangency point between the
348 -- solution and the second argument on the second argument.
349
350 parcen3 : Real;
351 ---Purpose: The parameter of the center point of the solution
352 -- on the second argument.
353
354end Circ2d2TanOn;