Integration of OCCT 6.5.0 from SVN
[occt.git] / src / GeomFill / GeomFill_LocationGuide.cdl
CommitLineData
7fd59977 1-- File: GeomFill_LocationGuide.cdl
2-- Created: Wed Jul 8 15:11:44 1998
3-- Author: Stephanie HUMEAU
4-- <shu@sun17>
5---Copyright: Matra Datavision 1998
6
7class LocationGuide from GeomFill
8inherits LocationLaw from GeomFill
9
10uses
11 HCurve from Adaptor3d,
12 Mat from gp,
13 Vec from gp,
14 Pnt from gp,
15 Shape from GeomAbs,
16 Array1OfReal from TColStd,
17 Array1OfVec2d from TColgp,
18 Array1OfPnt2d from TColgp,
19 HArray1OfPnt2d from TColgp,
20 HArray2OfPnt2d from TColgp,
21 HArray1OfReal from TColStd,
22
23 HSurface from Adaptor3d,
24 Curve from Geom,
25 Curve from Adaptor3d,
26
27 TrihedronWithGuide from GeomFill,
28 Dir from gp,
29 Line from Geom,
30 TrimmedCurve from Geom,
31 SectionLaw from GeomFill,
32 PipeError from GeomFill,
33 Vector from math
34
35raises
36 NotImplemented, ConstructionError, OutOfRange
37
38is
39 Create(Triedre : TrihedronWithGuide from GeomFill)
40 returns LocationGuide from GeomFill;
41
42 Set (me : mutable;
43 Section : SectionLaw from GeomFill;
44 rotat : Boolean from Standard;
45 SFirst, SLast : Real;
46 PrecAngle : Real;
47 LastAngle : out Real)
48 is static;
49
50 EraseRotation(me : mutable);
51
52 SetRotation(me : mutable;
53 PrecAngle : Real;
54 LastAngle : out Real)
55 is private;
56
57 SetCurve(me : mutable; C : HCurve from Adaptor3d)
58 is redefined;
59
60 GetCurve(me)
61 returns HCurve from Adaptor3d
62 ---C++: return const &
63 is redefined;
64
65 SetTrsf(me : mutable; Transfo : Mat from gp)
66 is redefined;
67
68 Copy(me)
69 returns LocationLaw from GeomFill
70 is redefined;
71
72
73 D0(me : mutable;
74 Param: Real;
75 M : out Mat from gp;
76 V : out Vec from gp)
77 ---Purpose: compute Location
78 returns Boolean is redefined;
79
80
81 D0(me : mutable;
82 Param: Real;
83 M : out Mat from gp;
84 V : out Vec from gp;
85 Poles2d : out Array1OfPnt2d from TColgp)
86 ---Purpose: compute Location and 2d points
87 returns Boolean is redefined;
88
89
90 D1(me : mutable;
91 Param: Real;
92 M : out Mat from gp;
93 V : out Vec from gp;
94 DM : out Mat from gp;
95 DV : out Vec from gp;
96 Poles2d : out Array1OfPnt2d from TColgp;
97 DPoles2d : out Array1OfVec2d from TColgp)
98 ---Purpose: compute location 2d points and associated
99 -- first derivatives.
100 -- Warning : It used only for C1 or C2 aproximation
101 returns Boolean
102 is redefined;
103
104 D2(me : mutable;
105 Param: Real;
106 M : out Mat from gp;
107 V : out Vec from gp;
108 DM : out Mat from gp;
109 DV : out Vec from gp;
110 D2M : out Mat from gp;
111 D2V : out Vec from gp;
112 Poles2d : out Array1OfPnt2d from TColgp;
113 DPoles2d : out Array1OfVec2d from TColgp;
114 D2Poles2d : out Array1OfVec2d from TColgp)
115 ---Purpose: compute location 2d points and associated
116 -- first and seconde derivatives.
117 -- Warning : It used only for C2 aproximation
118 returns Boolean
119 is redefined;
120
121
122
123-- ================== General Information On The Function ==================
124--
125
126 HasFirstRestriction(me)
127 ---Purpose: Say if the first restriction is defined in this class.
128 -- If it is true the first element of poles array in
129 -- D0,D1,D2... Correspond to this restriction.
130 -- Returns Standard_False (default implementation)
131 returns Boolean
132 is redefined;
133
134 HasLastRestriction(me) -- A FAIRE !!
135 ---Purpose: Say if the last restriction is defined in this class.
136 -- If it is true the last element of poles array in
137 -- D0,D1,D2... Correspond to this restriction.
138 -- Returns Standard_False (default implementation)
139 returns Boolean
140 is redefined;
141
142 TraceNumber(me)
143 ---Purpose: Give the number of trace (Curves 2d wich are not restriction)
144 -- Returns 1 (default implementation)
145 returns Integer
146 is redefined;
147
148 ErrorStatus(me)
149 ---Purpose:Give a status to the Law
150 -- Returns PipeOk (default implementation)
151 returns PipeError from GeomFill
152 is redefined;
153
154--
155-- =================== Management of continuity ===================
156--
157 NbIntervals(me; S : Shape from GeomAbs)
158 ---Purpose: Returns the number of intervals for continuity
159 -- <S>.
160 -- May be one if Continuity(me) >= <S>
161 returns Integer is redefined;
162
163 Intervals(me; T : in out Array1OfReal from TColStd;
164 S : Shape from GeomAbs)
165 ---Purpose: Stores in <T> the parameters bounding the intervals
166 -- of continuity <S>.
167 --
168 -- The array must provide enough room to accomodate
169 -- for the parameters. i.e. T.Length() > NbIntervals()
170 raises
171 OutOfRange from Standard
172 is redefined;
173
174
175 SetInterval(me: mutable; First, Last: Real from Standard)
176 ---Purpose: Sets the bounds of the parametric interval on
177 -- the function
178 -- This determines the derivatives in these values if the
179 -- function is not Cn.
180 is redefined;
181
182 GetInterval(me; First, Last: out Real from Standard)
183 ---Purpose: Gets the bounds of the parametric interval on
184 -- the function
185 is redefined;
186
187 GetDomain(me; First, Last: out Real from Standard)
188 ---Purpose: Gets the bounds of the function parametric domain.
189 -- Warning: This domain it is not modified by the
190 -- SetValue method
191 is redefined;
192
193-- =================== To help computation of Tolerance ===============
194--
195-- Evaluation of error, in 2d space, or on composed function, is
196-- difficult. The following methods can help the approximation to
197-- make good evaluation and use good tolerances.
198--
199-- It is not necessary for the following informations to be very
200-- precise. A fast evaluation is sufficient.
201
202 SetTolerance(me : mutable; Tol3d, Tol2d : Real)
203 ---Purpose: Is usefull, if (me) have to run numerical
204 -- algorithm to perform D0, D1 or D2
205 -- The default implementation make nothing.
206 is redefined;
207
208 Resolution(me;
209 Index : Integer from Standard;
210 Tol : Real from Standard;
211 TolU, TolV : out Real from Standard)
212 ---Purpose: Returns the resolutions in the sub-space 2d <Index>
213 -- This information is usfull to find an good tolerance in
214 -- 2d approximation.
215 -- Warning: Used only if Nb2dCurve > 0
216 is redefined;
217
218
219 GetMaximalNorm(me : mutable)
220 ---Purpose: Get the maximum Norm of the matrix-location part. It
221 -- is usful to find an good Tolerance to approx M(t).
222 returns Real
223 is redefined;
224
225 GetAverageLaw(me : mutable;
226 AM: out Mat from gp;
227 AV: out Vec from gp)
228 ---Purpose: Get average value of M(t) and V(t) it is usfull to
229 -- make fast approximation of rational surfaces.
230 is redefined;
231
232--
233-- To find elementary sweep
234--
235 IsTranslation(me; Error : out Real)
236 ---Purpose: Say if the Location Law, is an translation of Location
237 -- The default implementation is " returns False ".
238 returns Boolean
239 is redefined;
240
241 IsRotation(me; Error : out Real )
242 ---Purpose: Say if the Location Law, is a rotation of Location
243 -- The default implementation is " returns False ".
244 returns Boolean
245 is redefined;
246
247 Rotation(me; Center : out Pnt from gp)
248 is redefined;
249
250
251 Section(me)
252 returns Curve from Geom;
253
254 Guide(me)
255 returns HCurve from Adaptor3d;
256
257 InitX(me;
258 Param : Real from Standard)
259 is private;
260
261 SetOrigine(me : mutable;
262 Param1 : Real;
263 Param2 : Real)
264 is static;
265
266
267fields
268 myLaw : TrihedronWithGuide from GeomFill; -- loi de triedre
269 mySec : SectionLaw from GeomFill; -- loi de section
270 myCurve : HCurve from Adaptor3d; -- trajectoire
271 myGuide : HCurve from Adaptor3d; -- guide
272 myTrimmed : HCurve from Adaptor3d; -- trajectoire trimme
273
274 myPoles2d : HArray2OfPnt2d from TColgp is protected;
275
276 myNbPts : Integer from Standard;
277 rotation : Boolean from Standard; -- contact ou non
278 OrigParam1 : Real from Standard; -- pour ACR
279 OrigParam2 : Real from Standard;
280 Uf, Ul : Real from Standard;
281 myFirstS : Real from Standard;
282 myLastS : Real from Standard;
283 ratio : Real from Standard;
284
285 WithTrans: Boolean from Standard;
286 Trans : Mat from gp;
287 TolRes : Vector from math;
288 Inf, Sup: Vector from math;
289 X, R : Vector from math;
290
291 myStatus : PipeError from GeomFill;
292
293end LocationGuide;