1 -- Created on: 1993-09-28
2 -- Created by: Bruno DUMORTIER
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 ---Purpose: Tools and Data to filling Surface and Sweep Surfaces
44 enumeration FillingStyle
45 is StretchStyle, CoonsStyle, CurvedStyle end;
46 ---Purpose: Defines the three filling styles used in this package
47 -- - GeomFill_Stretch - the style with the flattest patches
48 -- - GeomFill_Coons - a rounded style of patch with
49 -- less depth than those of Curved
50 -- - GeomFill_Curved - the style with the most rounded patches.
51 enumeration ApproxStyle
52 is Section, Location end;
57 PlaneNotIntersectGuide,
63 is IsCorrectedFrenet, IsFixed, IsFrenet, IsConstantNormal, IsDarboux,
64 IsGuideAC, IsGuidePlan,
65 IsGuideACWithContact, IsGuidePlanWithContact, IsDiscreteTrihedron end;
82 class SectionGenerator;
86 class AppSurf instantiates AppSurf from AppBlend
87 ( SectionGenerator from GeomFill,
89 ---Purpose: Approximate a BSplineSurface passing by all the
90 -- curves described in the SectionGenerator
93 class SweepSectionGenerator;
95 class AppSweep instantiates AppSurf from AppBlend
96 ( SweepSectionGenerator from GeomFill,
98 ---Purpose: Approximate a sweep surface passing by all the
99 -- curves described in the SweepSectionGenerator.
107 --- Family of classes providing algorithms to fill a contour with
108 -- constraints of tangency.
114 class ConstrainedFilling;
116 deferred class Boundary; -- inherits TShared
118 class DegeneratedBound; -- inherits Boundary
120 class SimpleBound; -- inherits Boundary
122 class BoundWithSurf; -- inherits Boundary
124 class CoonsAlgPatch; -- inherits TShared
126 deferred class TgtField; -- inherits TShared
128 class TgtOnCoons; -- inherits TgteField
133 -- instantiation of Sequence of Trsf
137 instantiates Sequence from TCollection (Trsf from gp);
140 instantiates Sequence from TCollection (Ax2 from gp);
143 instantiates HSequence from TCollection (Ax2 from gp,
144 SequenceOfAx2 from GeomFill);
150 private class CircularBlendFunc;
151 private class SweepFunction;
152 private class LocFunction;
153 private class PolynomialConvertor;
154 private class QuasiAngularConvertor;
155 private class SnglrFunc;
156 private class FunctionDraft;
157 private class PlanFunc;
158 private class FunctionGuide;
163 deferred class SectionLaw;
164 class UniformSection;
165 class EvolvedSection;
168 deferred class LocationLaw;
169 class CurveAndTrihedron;
173 deferred class TrihedronLaw;
176 class CorrectedFrenet;
177 class DiscreteTrihedron;
178 class ConstantBiNormal;
180 class DraftTrihedron;
183 deferred class TrihedronWithGuide;
184 class GuideTrihedronAC;
185 class GuideTrihedronPlan;
190 class SectionPlacement;
192 class Array1OfSectionLaw
193 instantiates Array1 from TCollection (SectionLaw from GeomFill);
195 class HArray1OfSectionLaw
196 instantiates HArray1 from TCollection (SectionLaw from GeomFill,
197 Array1OfSectionLaw from GeomFill);
199 class Array1OfLocationLaw
200 instantiates Array1 from TCollection (LocationLaw from GeomFill);
202 class HArray1OfLocationLaw
203 instantiates HArray1 from TCollection (LocationLaw from GeomFill,
204 Array1OfLocationLaw from GeomFill);
209 Surface( Curve1 : Curve from Geom;
210 Curve2 : Curve from Geom)
211 returns Surface from Geom;
213 -- Builds a ruled surface between the two curves, Curve1 and Curve2.
214 GetCircle(TConv : ParameterisationType from Convert;
215 ns1, ns2 : Vec from gp;
217 pt1, pt2 : Pnt from gp;
218 Rayon : Real from Standard;
219 Center : Pnt from gp;
220 Poles : out Array1OfPnt from TColgp;
221 Weigths : out Array1OfReal from TColStd);
223 GetCircle(TConv : ParameterisationType from Convert;
224 ns1, ns2 : Vec from gp;
225 dn1w, dn2w : Vec from gp;
226 nplan, dnplan : Vec from gp;
227 pts1, pts2 : Pnt from gp;
228 tang1, tang2 : Vec from gp;
229 Rayon, DRayon : Real from Standard;
230 Center : Pnt from gp;
231 DCenter : Vec from gp;
232 Poles : out Array1OfPnt from TColgp;
233 DPoles : out Array1OfVec from TColgp;
234 Weigths : out Array1OfReal from TColStd;
235 DWeigths : out Array1OfReal from TColStd)
239 GetCircle(TConv : ParameterisationType from Convert;
240 ns1, ns2 : Vec from gp;
241 dn1w, dn2w : Vec from gp;
242 d2n1w, d2n2w : Vec from gp;
243 nplan, dnplan, d2nplan : Vec from gp;
244 pts1 , pts2 : Pnt from gp;
245 tang1 , tang2 : Vec from gp;
246 Dtang1, Dtang2 : Vec from gp;
247 Rayon, DRayon, D2Rayon : Real from Standard;
248 Center : Pnt from gp;
249 DCenter, D2Center : Vec from gp;
250 Poles : out Array1OfPnt from TColgp;
251 DPoles : out Array1OfVec from TColgp;
252 D2Poles : out Array1OfVec from TColgp;
253 Weigths : out Array1OfReal from TColStd;
254 DWeigths : out Array1OfReal from TColStd;
255 D2Weigths : out Array1OfReal from TColStd)
259 GetShape(MaxAng: Real from Standard;
260 NbPoles,NbKnots,Degree : out Integer from Standard;
261 TypeConv : in out ParameterisationType from Convert);
263 Knots(TypeConv : ParameterisationType from Convert;
264 TKnots: out Array1OfReal from TColStd);
267 Mults(TypeConv : ParameterisationType from Convert;
268 TMults: out Array1OfInteger from TColStd);
270 GetMinimalWeights(TConv : ParameterisationType from Convert;
273 Weigths : out Array1OfReal from TColStd);
275 GetTolerance(TConv : ParameterisationType from Convert;
280 ---Purpose: Used by the generical classes to determine
281 -- Tolerance for approximation