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