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 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 -- 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.
80 deferred class SectionLaw;
86 deferred class LocationLaw;
100 class CompatibleWires;
104 class OffsetAncestors;
107 class ListOfOffsetWire instantiates
108 List from TCollection (OffsetWire from BRepFill);
109 private class ApproxSeewing;
111 private class MultiLine;
113 private class MultiLineTool;
115 private class ComputeCLine instantiates
116 ComputeCLine from Approx ( MultiLine, MultiLineTool);
119 private class TrimSurfaceTool;
121 private class TrimEdgeTool;
123 private class SectionPlacement;
125 private class Section;
129 --modified by NIZHNY-MKK Tue Oct 21 17:43:15 2003
130 class TrimShellCorner;
132 private class SequenceOfSection instantiates
133 Sequence from TCollection (Section);
135 class DataMapOfNodeDataMapOfShapeShape instantiates
136 DataMap from TCollection (Node from MAT,
137 DataMapOfShapeShape from TopTools,
138 MapTransientHasher from TColStd );
140 class DataMapOfNodeShape instantiates
141 DataMap from TCollection (Node from MAT,
143 MapTransientHasher from TColStd );
145 class DataMapOfShapeDataMapOfShapeListOfShape instantiates
146 DataMap from TCollection (Shape from TopoDS,
147 DataMapOfShapeListOfShape from TopTools,
148 ShapeMapHasher from TopTools );
150 class DataMapOfShapeSequenceOfReal instantiates
151 DataMap from TCollection (Shape from TopoDS,
152 SequenceOfReal from TColStd,
153 ShapeMapHasher from TopTools );
155 class DataMapOfShapeSequenceOfPnt instantiates
156 DataMap from TCollection (Shape from TopoDS,
157 SequenceOfPnt from TColgp,
158 ShapeMapHasher from TopTools );
160 class DataMapOfOrientedShapeListOfShape instantiates
161 DataMap from TCollection (Shape from TopoDS,
162 ListOfShape from TopTools,
163 OrientedShapeMapHasher from TopTools);
165 class IndexedDataMapOfOrientedShapeListOfShape instantiates
166 IndexedDataMap from TCollection (Shape from TopoDS,
167 ListOfShape from TopTools,
168 OrientedShapeMapHasher from TopTools);
170 class DataMapOfShapeHArray2OfShape instantiates
171 DataMap from TCollection (Shape from TopoDS,
172 HArray2OfShape from TopTools,
173 ShapeMapHasher from TopTools);
176 class CurveConstraint ;
180 private class FaceAndOrder;
182 private class EdgeFaceAndOrder;
184 private class SequenceOfFaceAndOrder instantiates
185 Sequence from TCollection (FaceAndOrder from BRepFill);
187 private class SequenceOfEdgeFaceAndOrder instantiates
188 Sequence from TCollection (EdgeFaceAndOrder from BRepFill);
190 Face( Edge1 : Edge from TopoDS;
191 Edge2 : Edge from TopoDS )
192 ---Purpose: Computes a ruled surface between two edges.
193 returns Face from TopoDS;
195 Shell( Wire1 : Wire from TopoDS;
196 Wire2 : Wire from TopoDS )
197 ---Purpose: Computes a ruled surface between two wires.
198 -- The wires must have the same number of edges.
199 returns Shell from TopoDS;
201 Axe (Spine : Shape from TopoDS;
202 Profile : Wire from TopoDS;
203 AxeProf : in out Ax3 from gp;
204 ProfOnSpine : in out Boolean from Standard;
205 Tol : Real from Standard);
206 ---Purpose: Computes <AxeProf> as Follow. <Location> is
207 -- the Position of the nearest vertex V of <Profile>
208 -- to <Spine>.<XDirection> is confused with the tangent
209 -- to <Spine> at the projected point of V on the Spine.
210 -- <Direction> is normal to <Spine>.
211 -- <Spine> is a plane wire or a plane face.
213 -- <ProfOnSpine> is <False> if the distance
214 -- between <Profile> and <Spine> is high to <Tol>.
217 SearchOrigin( W : in out Wire from TopoDS;
220 Tol : Real) is private;
221 ---Purpose: Computes origins and orientation on a closed wire
224 ComputeACR( wire : Wire from TopoDS;
225 ACR : out Array1OfReal from TColStd );
226 ---Purpose: Compute ACR on a wire
228 InsertACR( wire : Wire from TopoDS;
229 ACRcuts : Array1OfReal from TColStd;
230 prec : Real from Standard )
231 ---Purpose: Insert ACR on a wire
232 returns Wire from TopoDS;