1 -- File: BRepFill_Evolved.cdl
2 -- Created: Mon Oct 3 14:28:26 1994
3 -- Author: Bruno DUMORTIER
5 ---Copyright: Matra Datavision 1994
8 class Evolved from BRepFill
10 ---Purpose: Constructs a evolved volume from a spine (wire or face)
11 -- and a profile ( wire).
21 JoinType from GeomAbs,
22 ListOfShape from TopTools,
23 DataMapOfShapeShape from TopTools,
24 DataMapOfShapeDataMapOfShapeListOfShape from BRepFill,
25 BisectingLocus from BRepMAT2d,
26 LinkTopoBilo from BRepMAT2d,
31 ConstructionError from Standard,
32 NoSuchObject from Standard
38 Create returns Evolved from BRepFill;
40 Create ( Spine : Wire from TopoDS;
41 Profile : Wire from TopoDS;
42 AxeProf : Ax3 from gp;
43 Join : JoinType from GeomAbs = GeomAbs_Arc;
44 Solid : Boolean from Standard = Standard_False)
45 returns Evolved from BRepFill
46 ---Purpose: Creates an evolved shape by sweeping the <Profile>
47 -- along the <Spine>. <AxeProf> is used to set the
48 -- position of <Profile> along <Spine> as follow:
49 -- l <AxeProf> glisse sur le profil avec sa
50 -- direction colineaire a la normale au <Spine>, et sa
51 -- <XDirection> confondue avec la tangente au <Spine>.
54 ConstructionError from Standard;
56 Create ( Spine : Face from TopoDS;
57 Profile : Wire from TopoDS;
58 AxeProf : Ax3 from gp;
59 Join : JoinType from GeomAbs = GeomAbs_Arc;
60 Solid : Boolean from Standard = Standard_False)
61 returns Evolved from BRepFill
62 ---Purpose: Creates an evolved shape by sweeping the <Profile>
65 ConstructionError from Standard;
68 Spine : Wire from TopoDS;
69 Profile : Wire from TopoDS;
70 AxeProf : Ax3 from gp;
71 Join : JoinType from GeomAbs = GeomAbs_Arc;
72 Solid : Boolean from Standard = Standard_False)
73 ---Purpose: Performs an evolved shape by sweeping the <Profile>
76 ConstructionError from Standard
80 Spine : Face from TopoDS;
81 Profile : Wire from TopoDS;
82 AxeProf : Ax3 from gp;
83 Join : JoinType from GeomAbs = GeomAbs_Arc;
84 Solid : Boolean from Standard = Standard_False)
85 ---Purpose: Performs an evolved shape by sweeping the <Profile>
88 ConstructionError from Standard
93 returns Boolean from Standard
96 Shape(me) returns Shape from TopoDS
97 ---Purpose: returns the generated shape.
98 ---C++ : return const &
101 GeneratedShapes (me ;
102 SpineShape : Shape from TopoDS;
103 ProfShape : Shape from TopoDS)
104 ---Purpose: Returns the shapes created from a subshape
105 -- <SpineShape> of the spine and a subshape
106 -- <ProfShape> on the profile.
108 ---C++ : return const &
109 returns ListOfShape from TopTools
112 JoinType (me) returns JoinType from GeomAbs
116 Top (me) returns Shape from TopoDS
117 ---Purpose: Return the face Top if <Solid> is True in the constructor.
118 ---C++ : return const &
121 Bottom (me) returns Shape from TopoDS
122 ---Purpose: Return the face Bottom if <Solid> is True in the constructor.
123 ---C++ : return const &
129 PrivatePerform (me : in out;
130 Spine : Face from TopoDS;
131 Profile : Wire from TopoDS;
132 AxeProf : Ax3 from gp;
133 Join : JoinType from GeomAbs = GeomAbs_Arc;
134 Solid : Boolean from Standard = Standard_False)
136 ConstructionError from Standard
139 SetWork (me : in out;
140 Spine : Face from TopoDS;
141 Profile : Wire from TopoDS)
144 ElementaryPerform ( me : in out;
145 Spine : Face from TopoDS;
146 Profile : Wire from TopoDS;
147 Locus : BisectingLocus from BRepMAT2d;
148 Link : in out LinkTopoBilo from BRepMAT2d;
149 Join : JoinType from GeomAbs = GeomAbs_Arc)
151 ConstructionError from Standard
154 PlanarPerform ( me : in out;
155 Spine : Face from TopoDS;
156 Profile : Wire from TopoDS;
157 Locus : BisectingLocus from BRepMAT2d;
158 Link : in out LinkTopoBilo from BRepMAT2d;
159 Join : JoinType from GeomAbs = GeomAbs_Arc)
161 ConstructionError from Standard
164 VerticalPerform ( me : in out;
165 Spine : Face from TopoDS;
166 Profile : Wire from TopoDS;
167 Locus : BisectingLocus from BRepMAT2d;
168 Link : in out LinkTopoBilo from BRepMAT2d;
169 Join : JoinType from GeomAbs = GeomAbs_Arc)
171 ConstructionError from Standard
174 Generated (me : in out )
176 returns DataMapOfShapeDataMapOfShapeListOfShape from BRepFill
179 Add ( me : in out; Vevo : in out Evolved from BRepFill;
180 Prof : Wire from TopoDS;
181 Glue : in out Quilt from BRepTools)
184 ChangeShape(me : in out) returns Shape from TopoDS
188 Transfert( me : in out;
189 Vevo : in out Evolved from BRepFill;
190 MapProf : DataMapOfShapeShape from TopTools;
191 MapSpine : DataMapOfShapeShape from TopTools;
192 LS, InitLS, InitLP : Location from TopLoc)
195 PrepareProfile ( me ; WorkProf : in out ListOfShape from TopTools;
196 MapProf : in out DataMapOfShapeShape from TopTools)
197 ---Purpose: Prepare the profil as follow
198 -- - Project the profile in the yOz Plane
199 -- - Cut the profile at the extrema of distance from the
200 -- Profile to the Oz Axis.
201 -- - building the new wires with the cutting edges.
204 PrepareSpine ( me ; WorkSpine : in out Face from TopoDS ;
205 SpineProf : in out DataMapOfShapeShape from TopTools)
206 ---Purpose: Prepare the spine as follow
207 -- - Cut the spine-Edges at the extrema of curvature and
208 -- at the inflexion points.
211 MakePipe (me : in out; SpineEdge : Edge from TopoDS ;
212 ProfRef : Ax3 from gp)
215 MakeRevol(me : in out; SpineEdge : Edge from TopoDS;
216 SpineVertex : Vertex from TopoDS;
217 ProfRef : Ax3 from gp)
220 FindLocation(me; Face : Face from TopoDS)
221 returns Location from TopLoc
222 ---Purpose: Find the location transforming the planar shape <Shape>
224 raises NoSuchObject from Standard
225 ---Purpose: if the Shape is not planar.
228 TransformInitWork(me : in out; LS , LP : Location from TopLoc)
229 ---Purpose: Apply the Location <LS> to <mySpine> and <LP> to
231 -- in order to set the Shapes in the work space.
234 ContinuityOnOffsetEdge (me : in out; WorkProf : ListOfShape from TopTools)
237 AddTopAndBottom (me : in out;Glue : in out Quilt from BRepTools)
240 MakeSolid(me : in out)
246 mySpine : Face from TopoDS;
247 myProfile : Wire from TopoDS;
248 myShape : Shape from TopoDS;
249 myIsDone : Boolean from Standard;
250 mySpineType : Boolean from Standard; -- True : Face ; False : Wire
251 myJoinType : JoinType from GeomAbs;
252 myMap : DataMapOfShapeDataMapOfShapeListOfShape from BRepFill;
253 myTop : Shape from TopoDS;
254 myBottom : Shape from TopoDS;