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