2 -- Created: Thu Mar 3 10:02:58 1994
3 -- Author: Bruno DUMORTIER
5 -- Modified: Mon Nov 3 10:24:07 1997
6 -- Author: Joelle CHAUVET
7 -- new class CurveConstraint
8 -- Modified: Mon Jan 12 10:46:37 1998
9 -- Author: Joelle CHAUVET
10 -- new method Organize
11 -- Modified: Mon Feb 23 09:28:33 1998
12 -- Author: Joelle CHAUVET
13 -- new methods SameNumber, ComputeACR, InsertACR
14 -- for sections with different number of elements
15 -- Modified: Thu Apr 30 15:27:04 1998
16 -- Author: Joelle CHAUVET
18 -- methods Organize and SameNumber are dispatched in
19 -- new methods SearchOrigin and SameNumberByACR for open wires
20 -- and SameNumberByPolarMethod and ComputeOrigin for closed wires
21 -- Modified: Tue Nov 3 10:41:06 1998
22 -- Author: Joelle CHAUVET
24 -- add classe CompatibleWires
25 ---Copyright: Matra Datavision 1994
64 enumeration TransitionStyle
65 is Modified, Right, Round end;
67 -- private class FilledPair;
68 ---Purpose: A pair of bound shapes with the result.
72 ---Purpose: Compute a topological surface ( a shell) using
73 -- generating wires. The face of the shell will be
74 -- ruled surfaces through the wires.
75 -- The wires must have the same number of edges.
77 deferred class SectionLaw;
83 deferred class LocationLaw;
90 ---Purpose: Computes a topological shape using a wire
91 -- (spine) and a shape (profile).
93 ---Purpose: Computes a topological shell using some wires --
94 -- (spines and profiles) and diplacement option
98 ---Purpose: Computes an evolved volum using a generating
99 -- wire and a profile.
102 ---Purpose: Computes an Sweep shell using a generating
103 -- wire, an SectionLaw and an LocationLaw.
106 class CompatibleWires;
107 ---Purpose: Computes Wires with good orientation and origin in order
108 -- to generate a shell not twisted.
112 ---Purpose: Computes the offset of a Wire or the Wires contained
114 -- The Wire or the Face must be planar.
116 class OffsetAncestors;
119 class ListOfOffsetWire instantiates
120 List from TCollection (OffsetWire from BRepFill);
121 private class ApproxSeewing;
123 private class MultiLine;
125 private class MultiLineTool;
127 private class ComputeCLine instantiates
128 ComputeCLine from Approx ( MultiLine, MultiLineTool);
131 private class TrimSurfaceTool;
132 ---Purpose: Compute the Pcurves and the 3d curves resulting
133 -- of the trimming of a face by an extruded surface.
135 private class TrimEdgeTool;
136 ---Purpose: Geometric Tool using to construct Offset Wires.
138 private class SectionPlacement;
140 private class Section;
144 --modified by NIZHNY-MKK Tue Oct 21 17:43:15 2003
145 class TrimShellCorner;
147 private class SequenceOfSection instantiates
148 Sequence from TCollection (Section);
150 class DataMapOfNodeDataMapOfShapeShape instantiates
151 DataMap from TCollection (Node from MAT,
152 DataMapOfShapeShape from TopTools, MapTransientHasher from TColStd );
154 class DataMapOfNodeShape instantiates
155 DataMap from TCollection (Node from MAT,
157 MapTransientHasher from TColStd );
159 class DataMapOfShapeDataMapOfShapeListOfShape instantiates
160 DataMap from TCollection (Shape from TopoDS,
161 DataMapOfShapeListOfShape from TopTools,
162 ShapeMapHasher from TopTools );
164 class DataMapOfShapeSequenceOfReal instantiates
165 DataMap from TCollection (Shape from TopoDS,
166 SequenceOfReal from TColStd,
167 ShapeMapHasher from TopTools );
169 class DataMapOfShapeSequenceOfPnt instantiates
170 DataMap from TCollection (Shape from TopoDS,
171 SequenceOfPnt from TColgp,
172 ShapeMapHasher from TopTools );
174 class DataMapOfOrientedShapeListOfShape instantiates
175 DataMap from TCollection (Shape from TopoDS,
176 ListOfShape from TopTools,
177 OrientedShapeMapHasher from TopTools);
179 class CurveConstraint ;
180 ---Purpose: same as CurveConstraint from GeomPlate
181 -- with BRepAdaptor_Surface instead of
182 -- GeomAdaptor_Surface
183 -- inherits CurveConstraint from GeomPlate
186 ---Purpose: N-Side Filling
187 -- This algorithm avoids to build a face from:
188 -- * a set of edges defining the bounds of the face and some
189 -- constraints the surface of the face has to satisfy
190 -- * a set of edges and points defining some constraints
191 -- the support surface has to satisfy
192 -- * an initial surface to deform for satisfying the constraints
193 -- * a set of parameters to control the constraints.
195 private class FaceAndOrder;
197 private class EdgeFaceAndOrder;
199 private class SequenceOfFaceAndOrder instantiates
200 Sequence from TCollection (FaceAndOrder from BRepFill);
202 private class SequenceOfEdgeFaceAndOrder instantiates
203 Sequence from TCollection (EdgeFaceAndOrder from BRepFill);
205 Face( Edge1 : Edge from TopoDS;
206 Edge2 : Edge from TopoDS )
207 ---Purpose: Computes a ruled surface between two edges.
208 returns Face from TopoDS;
210 Shell( Wire1 : Wire from TopoDS;
211 Wire2 : Wire from TopoDS )
212 ---Purpose: Computes a ruled surface between two wires.
213 -- The wires must have the same number of edges.
214 returns Shell from TopoDS;
216 Axe (Spine : Shape from TopoDS;
217 Profile : Wire from TopoDS;
218 AxeProf : in out Ax3 from gp;
219 ProfOnSpine : in out Boolean from Standard;
220 Tol : Real from Standard);
221 ---Purpose: Computes <AxeProf> as Follow. <Location> is
222 -- the Position of the nearest vertex V of <Profile>
223 -- to <Spine>.<XDirection> is confused with the tangent
224 -- to <Spine> at the projected point of V on the Spine.
225 -- <Direction> is normal to <Spine>.
226 -- <Spine> is a plane wire or a plane face.
228 -- <ProfOnSpine> is <False> if the distance
229 -- between <Profile> and <Spine> is high to <Tol>.
232 SearchOrigin( W : in out Wire from TopoDS;
235 Tol : Real) is private;
236 ---Purpose: Computes origins and orientation on a closed wire
239 ComputeACR( wire : Wire from TopoDS;
240 ACR : out Array1OfReal from TColStd );
241 ---Purpose: Compute ACR on a wire
243 InsertACR( wire : Wire from TopoDS;
244 ACRcuts : Array1OfReal from TColStd;
245 prec : Real from Standard )
246 ---Purpose: Insert ACR on a wire
247 returns Wire from TopoDS;