1 -- Created on: 1994-03-03
2 -- Created by: Joelle CHAUVET
3 -- Copyright (c) 1994-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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- Modified: Mon Nov 3 10:24:07 1997
18 -- new class CurveConstraint
19 -- Modified: Mon Jan 12 10:46:37 1998
20 -- new method Organize
21 -- Modified: Mon Feb 23 09:28:33 1998
22 -- new methods SameNumber, ComputeACR, InsertACR
23 -- for sections with different number of elements
24 -- Modified: Thu Apr 30 15:27:04 1998
25 -- methods Organize and SameNumber are dispatched in
26 -- new methods SearchOrigin and SameNumberByACR for open wires
27 -- and SameNumberByPolarMethod and ComputeOrigin for closed wires
28 -- Modified: Tue Nov 3 10:41:06 1998
29 -- add classe CompatibleWires
68 enumeration TransitionStyle
69 is Modified, Right, Round end;
71 enumeration TypeOfContact
72 is NoContact, Contact, ContactOnBorder end;
74 -- private class FilledPair;
75 ---Purpose: A pair of bound shapes with the result.
79 ---Purpose: Compute a topological surface ( a shell) using
80 -- generating wires. The face of the shell will be
81 -- ruled surfaces through the wires.
82 -- The wires must have the same number of edges.
84 deferred class SectionLaw;
90 deferred class LocationLaw;
97 ---Purpose: Computes a topological shape using a wire
98 -- (spine) and a shape (profile).
100 ---Purpose: Computes a topological shell using some wires --
101 -- (spines and profiles) and diplacement option
105 ---Purpose: Computes an evolved volum using a generating
106 -- wire and a profile.
109 ---Purpose: Computes an Sweep shell using a generating
110 -- wire, an SectionLaw and an LocationLaw.
113 class CompatibleWires;
114 ---Purpose: Computes Wires with good orientation and origin in order
115 -- to generate a shell not twisted.
119 ---Purpose: Computes the offset of a Wire or the Wires contained
121 -- The Wire or the Face must be planar.
123 class OffsetAncestors;
126 class ListOfOffsetWire instantiates
127 List from TCollection (OffsetWire from BRepFill);
128 private class ApproxSeewing;
130 private class MultiLine;
132 private class MultiLineTool;
134 private class ComputeCLine instantiates
135 ComputeCLine from Approx ( MultiLine, MultiLineTool);
138 private class TrimSurfaceTool;
139 ---Purpose: Compute the Pcurves and the 3d curves resulting
140 -- of the trimming of a face by an extruded surface.
142 private class TrimEdgeTool;
143 ---Purpose: Geometric Tool using to construct Offset Wires.
145 private class SectionPlacement;
147 private class Section;
151 --modified by NIZHNY-MKK Tue Oct 21 17:43:15 2003
152 class TrimShellCorner;
154 private class SequenceOfSection instantiates
155 Sequence from TCollection (Section);
157 class DataMapOfNodeDataMapOfShapeShape instantiates
158 DataMap from TCollection (Node from MAT,
159 DataMapOfShapeShape from TopTools,
160 MapTransientHasher from TColStd );
162 class DataMapOfNodeShape instantiates
163 DataMap from TCollection (Node from MAT,
165 MapTransientHasher from TColStd );
167 class DataMapOfShapeDataMapOfShapeListOfShape instantiates
168 DataMap from TCollection (Shape from TopoDS,
169 DataMapOfShapeListOfShape from TopTools,
170 ShapeMapHasher from TopTools );
172 class DataMapOfShapeSequenceOfReal instantiates
173 DataMap from TCollection (Shape from TopoDS,
174 SequenceOfReal from TColStd,
175 ShapeMapHasher from TopTools );
177 class DataMapOfShapeSequenceOfPnt instantiates
178 DataMap from TCollection (Shape from TopoDS,
179 SequenceOfPnt from TColgp,
180 ShapeMapHasher from TopTools );
182 class DataMapOfOrientedShapeListOfShape instantiates
183 DataMap from TCollection (Shape from TopoDS,
184 ListOfShape from TopTools,
185 OrientedShapeMapHasher from TopTools);
187 class IndexedDataMapOfOrientedShapeListOfShape instantiates
188 IndexedDataMap from TCollection (Shape from TopoDS,
189 ListOfShape from TopTools,
190 OrientedShapeMapHasher from TopTools);
192 class CurveConstraint ;
193 ---Purpose: same as CurveConstraint from GeomPlate
194 -- with BRepAdaptor_Surface instead of
195 -- GeomAdaptor_Surface
196 -- inherits CurveConstraint from GeomPlate
199 ---Purpose: N-Side Filling
200 -- This algorithm avoids to build a face from:
201 -- * a set of edges defining the bounds of the face and some
202 -- constraints the surface of the face has to satisfy
203 -- * a set of edges and points defining some constraints
204 -- the support surface has to satisfy
205 -- * an initial surface to deform for satisfying the constraints
206 -- * a set of parameters to control the constraints.
208 private class FaceAndOrder;
210 private class EdgeFaceAndOrder;
212 private class SequenceOfFaceAndOrder instantiates
213 Sequence from TCollection (FaceAndOrder from BRepFill);
215 private class SequenceOfEdgeFaceAndOrder instantiates
216 Sequence from TCollection (EdgeFaceAndOrder from BRepFill);
218 Face( Edge1 : Edge from TopoDS;
219 Edge2 : Edge from TopoDS )
220 ---Purpose: Computes a ruled surface between two edges.
221 returns Face from TopoDS;
223 Shell( Wire1 : Wire from TopoDS;
224 Wire2 : Wire from TopoDS )
225 ---Purpose: Computes a ruled surface between two wires.
226 -- The wires must have the same number of edges.
227 returns Shell from TopoDS;
229 Axe (Spine : Shape from TopoDS;
230 Profile : Wire from TopoDS;
231 AxeProf : in out Ax3 from gp;
232 ProfOnSpine : in out Boolean from Standard;
233 Tol : Real from Standard);
234 ---Purpose: Computes <AxeProf> as Follow. <Location> is
235 -- the Position of the nearest vertex V of <Profile>
236 -- to <Spine>.<XDirection> is confused with the tangent
237 -- to <Spine> at the projected point of V on the Spine.
238 -- <Direction> is normal to <Spine>.
239 -- <Spine> is a plane wire or a plane face.
241 -- <ProfOnSpine> is <False> if the distance
242 -- between <Profile> and <Spine> is high to <Tol>.
245 SearchOrigin( W : in out Wire from TopoDS;
248 Tol : Real) is private;
249 ---Purpose: Computes origins and orientation on a closed wire
252 ComputeACR( wire : Wire from TopoDS;
253 ACR : out Array1OfReal from TColStd );
254 ---Purpose: Compute ACR on a wire
256 InsertACR( wire : Wire from TopoDS;
257 ACRcuts : Array1OfReal from TColStd;
258 prec : Real from Standard )
259 ---Purpose: Insert ACR on a wire
260 returns Wire from TopoDS;