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