0022922: Clean up warnings on uninitialized / unused variables
[occt.git] / src / GeomFill / GeomFill.cdl
CommitLineData
7fd59977 1-- File: GeomFill.cdl
2-- Created: Tue Sep 28 11:34:33 1993
3-- Author: Bruno DUMORTIER
4-- <dub@sdsun1>
5---Copyright: Matra Datavision 1993
6
7 ---Purpose: Tools and Data to filling Surface and Sweep Surfaces
8
9package GeomFill
10
11uses
12 TColgp,
13 TColGeom,
14 TColGeom2d,
15 TColStd,
16 TCollection,
17 gp,
18 Geom,
19 Geom2d,
20 GeomAbs,
21 Convert,
22 Adaptor3d,
23 GeomAdaptor,
24 Law,
25 Extrema,
26 AppBlend,
27 Approx,
28 math,
29 MMgt,
30 StdFail
31
32is
33
34 enumeration FillingStyle
35 is StretchStyle, CoonsStyle, CurvedStyle end;
36 ---Purpose: Defines the three filling styles used in this package
37 -- - GeomFill_Stretch - the style with the flattest patches
38 -- - GeomFill_Coons - a rounded style of patch with
39 -- less depth than those of Curved
40 -- - GeomFill_Curved - the style with the most rounded patches.
41 enumeration ApproxStyle
42 is Section, Location end;
43
44 enumeration PipeError
45 is PipeOk,
46 PipeNotOk,
47 PlaneNotIntersectGuide,
48 ImpossibleContact
49 end;
50
51
52 enumeration Trihedron
53 is IsCorrectedFrenet, IsFixed, IsFrenet, IsConstantNormal, IsDarboux,
54 IsGuideAC, IsGuidePlan,
55 IsGuideACWithContact, IsGuidePlanWithContact end;
56
57 class Filling;
58 ---Purpose: Root class for Filling;
59
60 class Stretch;
61
62 class Coons;
63
64 class Curved;
65
66
67 class BezierCurves;
68 ---Purpose: class for Filling BezierCurves.
69 -- WARNING:
70 -- Some problems may appear with the rational Curves.
71
72 class BSplineCurves;
73 ---Purpose: class for Filling BSplineCurves.
74 -- WARNING:
75 -- Some problems may appear with the rational Curves.
76
77 class Profiler;
78 ---Purpose: class for evaluation of the Common BSpline Profile
79 -- from a sequence a BSplineCurves.
80
81 class SectionGenerator;
82 ---Purpose: class for instantiation of AppBlend .
83 -- inherits Profiler.
84
85 class Line;
86 ---Purpose: class for instantiation of AppBlend
87
88 class AppSurf instantiates AppSurf from AppBlend
89 ( SectionGenerator from GeomFill,
90 Line from GeomFill);
91 ---Purpose: Approximate a BSplineSurface passing by all the
92 -- curves described in the SectionGenerator
93
94
95 class SweepSectionGenerator;
96 ---Purpose: class for instantiation of AppBlend.
97 -- evaluate the sections of a sweep surface.
98
99 class AppSweep instantiates AppSurf from AppBlend
100 ( SweepSectionGenerator from GeomFill,
101 Line from GeomFill);
102 ---Purpose: Approximate a sweep surface passing by all the
103 -- curves described in the SweepSectionGenerator.
104
105
106 class Generator;
107 ---Purpose: Create a surface using generating lines. Inherits
108 -- profiler. The surface will be a BSplineSurface
109 -- passing by all the curves described in the
110 -- generator. The VDegree of the resulting surface is
111 -- 1.
112
113 class Pipe;
114 ---Purpose: Create a pipe surface.
115
116
117 --- Family of classes providing algorithms to fill a contour with
118 -- constraints of tangency.
119
120
121-- class Draft;
122 ---Purpose: Depouille
123
124 class Tensor;
125
126
127 class ConstrainedFilling;
128 ---Purpose: class for filling a contour of 2, 3 or 4 curves with
129 -- tangency constaints. The only FillingStyle used is
130 -- Coons.
131 --
132
133 deferred class Boundary; -- inherits TShared
134 ---Purpose: Root class defining the methods we need to make a
135 -- constrained boundary. Any new type of constrained
136 -- boundary must inherit this class.
137 --
138
139 class DegeneratedBound; -- inherits Boundary
140 ---Purpose: class defining a degenerated boundary for a
141 -- constrained filling with a point and no other
142 -- constraint. Only used to simulate an ordinary bound,
143 -- may not be usefull and desapear soon.
144 --
145
146 class SimpleBound; -- inherits Boundary
147 ---Purpose: class defining a boundary for a constrained filling
148 -- with a 3d curve and no other constraint. Contains
149 -- fields to allow a reparametrization of curve.
150 --
151
152 class BoundWithSurf; -- inherits Boundary
153 ---Purpose: class defining a boundary for a constrained filling
154 -- with a curve and a normals field along a surface.
155 -- Contains fields to allow a reparametrization of curve
156 -- and normals field.
157 --
158
159 class CoonsAlgPatch; -- inherits TShared
160 ---Purpose: class defining an algorithmic patch based on 4 Curves.
161
162 deferred class TgtField; -- inherits TShared
163 ---Purpose: Root class defining the methods we need to definine an
164 -- algorithmic tgte field.
165
166 class TgtOnCoons; -- inherits TgteField
167 ---Purpose: Class defining an algorithmic tgte field along a
168 -- boundary of a CoonsAlgPatch.
169
170 class CornerState;
171 ---Purpose: Class (should be a structure) storing the informations
172 -- about continuity, normals parallelism, coons
173 -- conditions and bounds tangents angle on the corner of
174 -- contour to be filled.
175
176 --
177 -- instantiation of Sequence of Trsf
178 --
179
180 class SequenceOfTrsf
181 instantiates Sequence from TCollection (Trsf from gp);
182
183 --
184 -- private classes
185 --
186
187 private class CircularBlendFunc;
188 private class SweepFunction;
189 private class LocFunction;
190 private class PolynomialConvertor;
191 private class QuasiAngularConvertor;
192 private class SnglrFunc;
193 private class FunctionDraft;
194 private class PlanFunc;
195 private class FunctionGuide;
196
197 ---
198 --- Sweep Data
199 ---
200 deferred class SectionLaw;
201 class UniformSection;
202 class EvolvedSection;
203 class NSections;
204
205 deferred class LocationLaw;
206 class CurveAndTrihedron;
207 class LocationDraft;
208 class LocationGuide;
209
210 deferred class TrihedronLaw;
211 class Fixed;
212 class Frenet;
213 class CorrectedFrenet;
214 class ConstantBiNormal;
215 class Darboux;
216 class DraftTrihedron;
217
218
219 deferred class TrihedronWithGuide;
220 class GuideTrihedronAC;
221 class GuideTrihedronPlan;
222
223
224
225 class Sweep;
226 class SectionPlacement;
227
228 class Array1OfSectionLaw
229 instantiates Array1 from TCollection (SectionLaw from GeomFill);
230
231 class HArray1OfSectionLaw
232 instantiates HArray1 from TCollection (SectionLaw from GeomFill,
233 Array1OfSectionLaw from GeomFill);
234
235 class Array1OfLocationLaw
236 instantiates Array1 from TCollection (LocationLaw from GeomFill);
237
238 class HArray1OfLocationLaw
239 instantiates HArray1 from TCollection (LocationLaw from GeomFill,
240 Array1OfLocationLaw from GeomFill);
241
242 -- package methods
243 --
244
245 Surface( Curve1 : Curve from Geom;
246 Curve2 : Curve from Geom)
247 returns Surface from Geom;
248 ---Purpose:
249-- Builds a ruled surface between the two curves, Curve1 and Curve2.
250 GetCircle(TConv : ParameterisationType from Convert;
251 ns1, ns2 : Vec from gp;
252 nplan : Vec from gp;
253 pt1, pt2 : Pnt from gp;
254 Rayon : Real from Standard;
255 Center : Pnt from gp;
256 Poles : out Array1OfPnt from TColgp;
257 Weigths : out Array1OfReal from TColStd);
258
259 GetCircle(TConv : ParameterisationType from Convert;
260 ns1, ns2 : Vec from gp;
261 dn1w, dn2w : Vec from gp;
262 nplan, dnplan : Vec from gp;
263 pts1, pts2 : Pnt from gp;
264 tang1, tang2 : Vec from gp;
265 Rayon, DRayon : Real from Standard;
266 Center : Pnt from gp;
267 DCenter : Vec from gp;
268 Poles : out Array1OfPnt from TColgp;
269 DPoles : out Array1OfVec from TColgp;
270 Weigths : out Array1OfReal from TColStd;
271 DWeigths : out Array1OfReal from TColStd)
272 ---Level: Internal
273 returns Boolean;
274
275 GetCircle(TConv : ParameterisationType from Convert;
276 ns1, ns2 : Vec from gp;
277 dn1w, dn2w : Vec from gp;
278 d2n1w, d2n2w : Vec from gp;
279 nplan, dnplan, d2nplan : Vec from gp;
280 pts1 , pts2 : Pnt from gp;
281 tang1 , tang2 : Vec from gp;
282 Dtang1, Dtang2 : Vec from gp;
283 Rayon, DRayon, D2Rayon : Real from Standard;
284 Center : Pnt from gp;
285 DCenter, D2Center : Vec from gp;
286 Poles : out Array1OfPnt from TColgp;
287 DPoles : out Array1OfVec from TColgp;
288 D2Poles : out Array1OfVec from TColgp;
289 Weigths : out Array1OfReal from TColStd;
290 DWeigths : out Array1OfReal from TColStd;
291 D2Weigths : out Array1OfReal from TColStd)
292 ---Level: Internal
293 returns Boolean;
294
295 GetShape(MaxAng: Real from Standard;
296 NbPoles,NbKnots,Degree : out Integer from Standard;
297 TypeConv : in out ParameterisationType from Convert);
298
299 Knots(TypeConv : ParameterisationType from Convert;
300 TKnots: out Array1OfReal from TColStd);
301
302
303 Mults(TypeConv : ParameterisationType from Convert;
304 TMults: out Array1OfInteger from TColStd);
305
306 GetMinimalWeights(TConv : ParameterisationType from Convert;
307 AngleMin : Real;
308 AngleMax : Real;
309 Weigths : out Array1OfReal from TColStd);
310
311 GetTolerance(TConv : ParameterisationType from Convert;
312 AngleMin : Real;
313 Radius : Real;
314 AngularTol : Real;
315 SpatialTol : Real)
316 ---Purpose: Used by the generical classes to determine
317 -- Tolerance for approximation
318 ---Level: Internal
319 returns Real;
320
321end GeomFill;