0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_RstRstEvolRad.cdl
CommitLineData
b311480e 1-- Created on: 1997-02-06
2-- Created by: Laurent BOURESCHE
3-- Copyright (c) 1997-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 RstRstEvolRad from BRepBlend
18inherits RstRstFunction from Blend
19
ff8178ef 20 ---Purpose: Function to approximate by AppSurface for
21 -- Edge/Edge and evolutif radius
7fd59977 22
23uses Vector from math,
24 Matrix from math,
25 Ax1 from gp,
26 Vec from gp,
27 Vec2d from gp,
28 Pnt from gp,
29 Pnt2d from gp,
30 Circ from gp,
31 Array1OfPnt from TColgp,
32 Array1OfVec from TColgp,
33 Array1OfPnt2d from TColgp,
34 Array1OfVec2d from TColgp,
35 Array1OfReal from TColStd,
36 Array1OfInteger from TColStd,
37 Shape from GeomAbs,
38 Point from Blend,
39 SectionShape from BlendFunc,
40 HSurface from Adaptor3d,
41 HCurve from Adaptor3d,
42 HCurve2d from Adaptor2d,
43 CurveOnSurface from Adaptor3d,
44 ParameterisationType from Convert,
45 DecrochStatus from Blend,
46 Function from Law
47
48is
49
50 Create(Surf1 : HSurface from Adaptor3d;
51 Rst1 : HCurve2d from Adaptor2d;
52 Surf2 : HSurface from Adaptor3d;
53 Rst2 : HCurve2d from Adaptor2d;
54 CGuide : HCurve from Adaptor3d;
55 Evol : Function from Law)
56 returns RstRstEvolRad from BRepBlend;
57
58 NbVariables(me)
59 ---Purpose: Returns 2.
60 returns Integer from Standard;
61
62 NbEquations(me)
63 ---Purpose: Returns 2.
64 returns Integer from Standard;
65
66 Value(me: in out; X: Vector; F: out Vector)
67 ---Purpose: computes the values <F> of the Functions for the
68 -- variable <X>.
69 -- Returns True if the computation was done successfully,
70 -- False otherwise.
71 returns Boolean from Standard;
72
73 Derivatives(me: in out; X: Vector; D: out Matrix)
74 ---Purpose: returns the values <D> of the derivatives for the
75 -- variable <X>.
76 -- Returns True if the computation was done successfully,
77 -- False otherwise.
78 returns Boolean from Standard;
79
80 Values(me: in out; X: Vector; F: out Vector; D: out Matrix)
81 ---Purpose: returns the values <F> of the functions and the derivatives
82 -- <D> for the variable <X>.
83 -- Returns True if the computation was done successfully,
84 -- False otherwise.
85 returns Boolean from Standard;
86
87 Set(me : in out;
88 SurfRef1 : HSurface from Adaptor3d;
89 RstRef1 : HCurve2d from Adaptor2d;
90 SurfRef2 : HSurface from Adaptor3d;
91 RstRef2 : HCurve2d from Adaptor2d);
92
93 Set(me: in out; Param: Real from Standard);
94
95 Set(me: in out; First, Last: Real from Standard);
96 ---Purpose: Sets the bounds of the parametric interval on
97 -- the guide line.
98 -- This determines the derivatives in these values if the
99 -- function is not Cn.
100
101 GetTolerance(me; Tolerance: out Vector from math; Tol: Real from Standard);
102
103 GetBounds(me; InfBound,SupBound: out Vector from math);
104
105 IsSolution(me: in out; Sol: Vector from math; Tol: Real from Standard)
106 returns Boolean from Standard;
107
108 GetMinimalDistance(me)
109 ---Purpose: Returns the minimal Distance beetween two
110 -- extremitys of calculed sections.
111 returns Real from Standard
112 is redefined;
113
114--- TheFollowing methods are called only when
115-- IsSolution returns Standard_True.
116
117 PointOnRst1(me)
118 ---C++: return const&
119 returns Pnt from gp;
120
121 PointOnRst2(me)
122 ---C++: return const&
123 returns Pnt from gp;
124
125 Pnt2dOnRst1(me)
126 ---Purpose: Returns U,V coordinates of the point on the surface.
127 ---C++: return const&
128 returns Pnt2d from gp;
129
130 Pnt2dOnRst2(me)
131 ---Purpose: Returns U,V coordinates of the point on the curve on
132 -- surface.
133 ---C++: return const&
134 returns Pnt2d from gp;
135
136 ParameterOnRst1(me)
137 ---Purpose: Returns parameter of the point on the curve.
138 returns Real from Standard;
139
140 ParameterOnRst2(me)
141 ---Purpose: Returns parameter of the point on the curve.
142 returns Real from Standard;
143
144 IsTangencyPoint(me)
145 returns Boolean from Standard;
146
147 TangentOnRst1(me)
148 ---C++: return const&
149 returns Vec from gp;
150
151 Tangent2dOnRst1(me)
152 ---C++: return const&
153 returns Vec2d from gp;
154
155 TangentOnRst2(me)
156 ---C++: return const&
157 returns Vec from gp;
158
159 Tangent2dOnRst2(me)
160 ---C++: return const&
161 returns Vec2d from gp;
162
163 Decroch(me;
164 Sol : Vector from math;
165 NRst1, TgRst1 : out Vec from gp;
166 NRst2, TgRst2 : out Vec from gp)
167
168 ---Purpose: Enables implementation of a criterion of decrochage
169 -- specific to the function.
170 ---Warning: Can be called without previous call of issolution
171 -- but the calculated values risquent de ne pas avoir
172 -- grand sens.
173 returns DecrochStatus from Blend
174 is static;
175
176-- methodes hors template (en plus du create)
177
178 Set(me : in out;
179 Choix : Integer from Standard)
180 is static;
181
182 Set(me: in out; TypeSection: SectionShape from BlendFunc)
183 ---Purpose: Sets the type of section generation for the
184 -- approximations.
185 is static;
186
187 CenterCircleRst1Rst2(me;
188 PtRst1 : Pnt from gp;
189 PtRst2 : Pnt from gp;
190 np : Vec from gp;
191 Center : out Pnt from gp;
192 VdMed : out Vec from gp)
193 ---Purpose: Gives the center of circle defined by PtRst1, PtRst2 and
194 -- radius ray.
195 returns Boolean from Standard
196 is static;
197
198 Section(me : in out;
199 Param : Real from Standard;
200 U,V : Real from Standard;
201 Pdeb,Pfin : out Real from Standard;
202 C : out Circ from gp)
203 is static;
204
205-- Methods for the approximation
206--
207 IsRational(me) returns Boolean
208 ---Purpose: Returns if the section is rationnal
209 is static;
210
211 GetSectionSize(me) returns Real
212 ---Purpose: Returns the length of the maximum section
213 is static;
214
215 GetMinimalWeight(me; Weigths : out Array1OfReal from TColStd)
216 ---Purpose: Compute the minimal value of weight for each poles
217 -- of all sections.
218 is static;
219
220 NbIntervals(me; S : Shape from GeomAbs) returns Integer
221 ---Purpose: Returns the number of intervals for continuity
222 -- <S>. May be one if Continuity(me) >= <S>
223 is static;
224
225 Intervals(me; T : in out Array1OfReal from TColStd;
226 S : Shape from GeomAbs)
227 ---Purpose: Stores in <T> the parameters bounding the intervals
228 -- of continuity <S>.
229 -- The array must provide enough room to accomodate
230 -- for the parameters. i.e. T.Length() > NbIntervals()
231 is static;
232
233 GetShape(me : in out;
234 NbPoles : out Integer from Standard;
235 NbKnots : out Integer from Standard;
236 Degree : out Integer from Standard;
237 NbPoles2d : out Integer from Standard)
238 is static;
239
240 GetTolerance(me;
241 BoundTol, SurfTol, AngleTol : Real;
242 Tol3d : out Vector;
243 Tol1D : out Vector )
244 ---Purpose: Returns the tolerance to reach in approximation
245 -- to respecte
246 -- BoundTol error at the Boundary
247 -- AngleTol tangent error at the Boundary
248 -- SurfTol error inside the surface.
249 is static;
250
251 Knots(me: in out; TKnots: out Array1OfReal from TColStd)
252 is static;
253
254 Mults(me: in out; TMults: out Array1OfInteger from TColStd)
255 is static;
256
257 Section(me : in out ;
258 P : Point from Blend;
259 Poles : out Array1OfPnt from TColgp;
260 DPoles : out Array1OfVec from TColgp;
261 Poles2d : out Array1OfPnt2d from TColgp;
262 DPoles2d : out Array1OfVec2d from TColgp;
263 Weigths : out Array1OfReal from TColStd;
264 DWeigths : out Array1OfReal from TColStd)
265 ---Purpose: Used for the first and last section
266 returns Boolean from Standard
267 is static;
268
269 Section(me : in out ;
270 P : Point from Blend;
271 Poles : out Array1OfPnt from TColgp;
272 Poles2d : out Array1OfPnt2d from TColgp;
273 Weigths : out Array1OfReal from TColStd)
274 is static;
275
276
277 Section(me: in out; P: Point from Blend;
278 Poles : out Array1OfPnt from TColgp;
279 DPoles : out Array1OfVec from TColgp;
280 D2Poles : out Array1OfVec from TColgp;
281 Poles2d : out Array1OfPnt2d from TColgp;
282 DPoles2d : out Array1OfVec2d from TColgp;
283 D2Poles2d : out Array1OfVec2d from TColgp;
284 Weigths : out Array1OfReal from TColStd;
285 DWeigths : out Array1OfReal from TColStd;
286 D2Weigths : out Array1OfReal from TColStd)
287 ---Purpose: Used for the first and last section
288 -- The method returns Standard_True if the derivatives
289 -- are computed, otherwise it returns Standard_False.
290 returns Boolean from Standard
291 is static;
292
293 Resolution(me;
294 IC2d : Integer from Standard;
295 Tol : Real from Standard;
296 TolU, TolV : out Real from Standard);
297
298fields
299
300 surf1 : HSurface from Adaptor3d;
301 surf2 : HSurface from Adaptor3d;
302 rst1 : HCurve2d from Adaptor2d;
303 rst2 : HCurve2d from Adaptor2d;
304 cons1 : CurveOnSurface from Adaptor3d;
305 cons2 : CurveOnSurface from Adaptor3d;
306 guide : HCurve from Adaptor3d;
307 tguide : HCurve from Adaptor3d;
308 ptrst1 : Pnt from gp;
309 ptrst2 : Pnt from gp;
310 pt2drst1 : Pnt2d from gp;
311 pt2drst2 : Pnt2d from gp;
312 prmrst1 : Real from Standard;
313 prmrst2 : Real from Standard;
314 istangent: Boolean from Standard;
315 tgrst1 : Vec from gp;
316 tg2drst1 : Vec2d from gp;
317 tgrst2 : Vec from gp;
318 tg2drst2 : Vec2d from gp;
319
320 ray : Real from Standard;
321 dray : Real from Standard;
322 choix : Integer from Standard;
323 ptgui : Pnt from gp;
324 d1gui : Vec from gp;
325 d2gui : Vec from gp;
326 nplan : Vec from gp;
327 normtg : Real from Standard;
328 theD : Real from Standard;
329
330 surfref1 : HSurface from Adaptor3d;
331 rstref1 : HCurve2d from Adaptor2d;
332 surfref2 : HSurface from Adaptor3d;
333 rstref2 : HCurve2d from Adaptor2d;
334 maxang : Real from Standard;
335 minang : Real from Standard;
336 distmin : Real from Standard;
337 mySShape : SectionShape from BlendFunc;
338 myTConv : ParameterisationType from Convert;
339 tevol : Function from Law ;
340 fevol : Function from Law ;
341
342end RstRstEvolRad;
343
344
345
346
347
348
349
350
351