0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_SurfRstConstRad.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 SurfRstConstRad from BRepBlend
18inherits SurfRstFunction from Blend
19
ff8178ef 20 ---Purpose: Copy of CSConstRad with pcurve on surface
21 -- as support.
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
46
47is
48
49 Create(Surf : HSurface from Adaptor3d;
50 SurfRst : HSurface from Adaptor3d;
51 Rst : HCurve2d from Adaptor2d;
52 CGuide : HCurve from Adaptor3d)
53 returns SurfRstConstRad from BRepBlend;
54
55 NbVariables(me)
56 ---Purpose: Returns 3.
57 returns Integer from Standard;
58
59 NbEquations(me)
60 ---Purpose: Returns 3.
61 returns Integer from Standard;
62
63 Value(me: in out; X: Vector; F: out Vector)
64 ---Purpose: computes the values <F> of the Functions for the
65 -- variable <X>.
66 -- Returns True if the computation was done successfully,
67 -- False otherwise.
68 returns Boolean from Standard;
69
70 Derivatives(me: in out; X: Vector; D: out Matrix)
71 ---Purpose: returns the values <D> of the derivatives for the
72 -- variable <X>.
73 -- Returns True if the computation was done successfully,
74 -- False otherwise.
75 returns Boolean from Standard;
76
77 Values(me: in out; X: Vector; F: out Vector; D: out Matrix)
78 ---Purpose: returns the values <F> of the functions and the derivatives
79 -- <D> for the variable <X>.
80 -- Returns True if the computation was done successfully,
81 -- False otherwise.
82 returns Boolean from Standard;
83
84 Set(me : in out;
85 SurfRef : HSurface from Adaptor3d;
86 RstRef : HCurve2d from Adaptor2d);
87
88 Set(me: in out; Param: Real from Standard);
89
90 Set(me: in out; First, Last: Real from Standard);
91 ---Purpose: Sets the bounds of the parametric interval on
92 -- the guide line.
93 -- This determines the derivatives in these values if the
94 -- function is not Cn.
95
96 GetTolerance(me; Tolerance: out Vector from math; Tol: Real from Standard);
97
98 GetBounds(me; InfBound,SupBound: out Vector from math);
99
100 IsSolution(me: in out; Sol: Vector from math; Tol: Real from Standard)
101 returns Boolean from Standard;
102
103 GetMinimalDistance(me)
104 ---Purpose: Returns the minimal Distance beetween two
105 -- extremitys of calculed sections.
106 returns Real from Standard
107 is redefined;
108
109--- TheFollowing methods are called only when
110-- IsSolution returns Standard_True.
111
112 PointOnS(me)
113 ---C++: return const&
114 returns Pnt from gp;
115
116 PointOnRst(me)
117 ---C++: return const&
118 returns Pnt from gp;
119
120 Pnt2dOnS(me)
121 ---Purpose: Returns U,V coordinates of the point on the surface.
122 ---C++: return const&
123 returns Pnt2d from gp;
124
125 Pnt2dOnRst(me)
126 ---Purpose: Returns U,V coordinates of the point on the curve on
127 -- surface.
128 ---C++: return const&
129 returns Pnt2d from gp;
130
131 ParameterOnRst(me)
132 ---Purpose: Returns parameter of the point on the curve.
133 returns Real from Standard;
134
135 IsTangencyPoint(me)
136 returns Boolean from Standard;
137
138 TangentOnS(me)
139 ---C++: return const&
140 returns Vec from gp;
141
142 Tangent2dOnS(me)
143 ---C++: return const&
144 returns Vec2d from gp;
145
146 TangentOnRst(me)
147 ---C++: return const&
148 returns Vec from gp;
149
150 Tangent2dOnRst(me)
151 ---C++: return const&
152 returns Vec2d from gp;
153
154 Decroch(me;
155 Sol : Vector from math;
156 NS,TgS : out Vec from gp)
157 ---Purpose: Enables implementation of a criterion of decrochage
158 -- specific to the function.
159 -- Warning: Can be called without previous call of issolution
160 -- but the values calculated can be senseless.
161 returns Boolean from Standard
162 is static;
163
164-- methodes hors template (en plus du create)
165
166 Set(me : in out;
167 Radius : Real from Standard;
168 Choix : Integer from Standard)
169 is static;
170
171 Set(me: in out; TypeSection: SectionShape from BlendFunc)
172 ---Purpose: Sets the type of section generation for the
173 -- approximations.
174 is static;
175
176 Section(me : in out;
177 Param : Real from Standard;
178 U,V,W : Real from Standard;
179 Pdeb,Pfin : out Real from Standard;
180 C : out Circ from gp)
181 is static;
182
183-- Methods for the approximation
184--
185 IsRational(me) returns Boolean
186 ---Purpose: Returns if the section is rationnal
187 is static;
188
189 GetSectionSize(me) returns Real
190 ---Purpose: Returns the length of the maximum section
191 is static;
192
193 GetMinimalWeight(me; Weigths : out Array1OfReal from TColStd)
194 ---Purpose: Compute the minimal value of weight for each poles
195 -- of all sections.
196 is static;
197
198 NbIntervals(me; S : Shape from GeomAbs) returns Integer
199 ---Purpose: Returns the number of intervals for continuity
200 -- <S>. May be one if Continuity(me) >= <S>
201 is static;
202
203 Intervals(me; T : in out Array1OfReal from TColStd;
204 S : Shape from GeomAbs)
205 ---Purpose: Stores in <T> the parameters bounding the intervals
206 -- of continuity <S>.
207 -- The array must provide enough room to accomodate
208 -- for the parameters. i.e. T.Length() > NbIntervals()
209 is static;
210
211 GetShape(me : in out;
212 NbPoles : out Integer from Standard;
213 NbKnots : out Integer from Standard;
214 Degree : out Integer from Standard;
215 NbPoles2d : out Integer from Standard)
216 is static;
217
218 GetTolerance(me;
219 BoundTol, SurfTol, AngleTol : Real;
220 Tol3d : out Vector;
221 Tol1D : out Vector )
222 ---Purpose: Returns the tolerance to reach in approximation
223 -- to respecte
224 -- BoundTol error at the Boundary
225 -- AngleTol tangent error at the Boundary
226 -- SurfTol error inside the surface.
227 is static;
228
229 Knots(me: in out; TKnots: out Array1OfReal from TColStd)
230 is static;
231
232 Mults(me: in out; TMults: out Array1OfInteger from TColStd)
233 is static;
234
235 Section(me : in out ;
236 P : Point from Blend;
237 Poles : out Array1OfPnt from TColgp;
238 DPoles : out Array1OfVec from TColgp;
239 Poles2d : out Array1OfPnt2d from TColgp;
240 DPoles2d : out Array1OfVec2d from TColgp;
241 Weigths : out Array1OfReal from TColStd;
242 DWeigths : out Array1OfReal from TColStd)
243 ---Purpose: Used for the first and last section
244 returns Boolean from Standard
245 is static;
246
247 Section(me: in out; P: Point from Blend;
248 Poles : out Array1OfPnt from TColgp;
249 DPoles : out Array1OfVec from TColgp;
250 D2Poles : out Array1OfVec from TColgp;
251 Poles2d : out Array1OfPnt2d from TColgp;
252 DPoles2d : out Array1OfVec2d from TColgp;
253 D2Poles2d : out Array1OfVec2d from TColgp;
254 Weigths : out Array1OfReal from TColStd;
255 DWeigths : out Array1OfReal from TColStd;
256 D2Weigths : out Array1OfReal from TColStd)
257 ---Purpose: Used for the first and last section
258 -- The method returns Standard_True if the derivatives
259 -- are computed, otherwise it returns Standard_False.
260 returns Boolean from Standard
261 is static;
262
263 Section(me : in out ;
264 P : Point from Blend;
265 Poles : out Array1OfPnt from TColgp;
266 Poles2d : out Array1OfPnt2d from TColgp;
267 Weigths : out Array1OfReal from TColStd)
268 is static;
269
270 Resolution(me;
271 IC2d : Integer from Standard;
272 Tol : Real from Standard;
273 TolU, TolV : out Real from Standard);
274
275fields
276
277 surf : HSurface from Adaptor3d;
278 surfrst : HSurface from Adaptor3d;
279 rst : HCurve2d from Adaptor2d;
280 cons : CurveOnSurface from Adaptor3d;
281 guide : HCurve from Adaptor3d;
282 tguide : HCurve from Adaptor3d;
283 pts : Pnt from gp;
284 ptrst : Pnt from gp;
285 pt2ds : Pnt2d from gp;
286 pt2drst : Pnt2d from gp;
287 prmrst : Real from Standard;
288 istangent: Boolean from Standard;
289 tgs : Vec from gp;
290 tg2ds : Vec2d from gp;
291 tgrst : Vec from gp;
292 tg2drst : Vec2d from gp;
293
294 ray : Real from Standard;
295 choix : Integer from Standard;
296 ptgui : Pnt from gp;
297 d1gui : Vec from gp;
298 d2gui : Vec from gp;
299 nplan : Vec from gp;
300 normtg : Real from Standard;
301 theD : Real from Standard;
302
303 surfref : HSurface from Adaptor3d;
304 rstref : HCurve2d from Adaptor2d;
305
306 maxang : Real from Standard;
307 minang : Real from Standard;
308 distmin : Real from Standard;
309 mySShape : SectionShape from BlendFunc;
310 myTConv : ParameterisationType from Convert;
311
312end SurfRstConstRad;