1 -- File: BRepFeat_LF.cdl
2 -- Created: Wed Oct 8 10:06:11 1997
3 -- Author: Olga KOULECHOVA
4 -- <opt@cleox.paris1.matra-dtv.fr>
5 ---Copyright: Matra Datavision 1997
7 deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI
9 ---Purpose: Provides functions to build mechanical features.
10 -- Mechanical features include ribs - protrusions and grooves (or slots) - depressions along
11 -- planar (linear) surfaces or revolution surfaces. The semantics of mechanical features is built
12 -- around giving thickness to a contour. This thickness can either be unilateral - on one side
13 -- of the contour - or bilateral - on both sides.
14 -- As in the semantics of form features, the thickness is defined by construction of shapes
15 -- in specific contexts. The development contexts differ, however,in case of mechanical features.
16 -- Here they include extrusion:
17 -- - to a limiting face of the basis shape
18 -- - to or from a limiting plane
21 uses Shape from TopoDS,
26 ShapeModification from BRepBuilderAPI,
27 DataMapOfShapeListOfShape from TopTools,
28 ListOfShape from TopTools,
29 SequenceOfCurve from TColGeom,
32 DataMapOfShapeShape from TopTools,
35 HBuilder from TopOpeBRepBuild,
36 PerfSelection from BRepFeat,
39 StatusError from BRepFeat,
40 --modified by NIZNHY-PKV Thu Mar 21 17:09:08 2002 f
41 BooleanOperation from BRepAlgoAPI,
42 --modified by NIZNHY-PKV Thu Mar 21 17:09:11 2002 t
43 HistoryCollector from BOP
48 ---Purpose: Redefines the empty constructor.
52 --- Methods redefined from BRepBuilderAPI_MakeShape
54 IsDeleted(me : in out ; F: Shape from TopoDS)
55 returns Boolean from Standard
57 ---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.
59 Modified(me: in out; F: Shape from TopoDS)
60 ---Purpose: Returns the list of generated Faces F. This list may be empty.
61 ---C++: return const &
62 returns ListOfShape from TopTools
66 Generated(me: in out; S: Shape from TopoDS)
67 ---Purpose: Returns a list TopTools_ListOfShape of the faces S created in the shape.
68 ---C++: return const &
69 returns ListOfShape from TopTools
74 ---Purpose: Returns the list of shapes created at the bottom of
75 -- the created form. It may be an empty list.
76 returns ListOfShape from TopTools;
81 ---Purpose: Returns the list of shapes created at the top of the
82 -- created form. It may be an empty list.
83 returns ListOfShape from TopTools;
87 ---Purpose: General perform method...
92 ---Purpose: Returns a list of the limiting and glueing faces
93 -- generated by the feature. These faces did not originally exist in the basis shape.
94 -- The list provides the information necessary for
95 -- subsequent addition of a draft to a face. It may be an empty list.
96 -- If a face has tangent edges, no draft is possible, and the tangent edges must
97 -- subsequently be removed if you want to add a draft to the face.
98 returns ListOfShape from TopTools;
102 ---Purpose: Returns a list of the limiting and glueing edges
103 -- generated by the feature. These edges did not originally exist in the basis shape.
104 -- The list provides the information necessary for
105 -- subsequent addition of fillets. It may be an empty list.
106 returns ListOfShape from TopTools;
107 ---C++: return const&
110 ---Purpose: Returns a list of the tangent edges among the
111 -- limiting and glueing edges generated by the
112 -- feature. These edges did not originally exist in
113 -- the basis shape and are tangent to the face
114 -- against which the feature is built.
115 -- The list provides the information necessary for
116 -- subsequent addition of fillets. It may be an empty list.
117 -- If an edge is tangent, no fillet is possible, and
118 -- the edge must subsequently be removed if you want to add a fillet.
119 returns ListOfShape from TopTools;
120 ---C++: return const&
122 CheckPoint(me: in out;
123 e : Edge from TopoDS;
124 bnd : Real from Standard;
125 Pln : Plane from Geom)
131 F : Face from TopoDS;
140 returns Real from Standard;
143 EdgeExtention(me: in out;
144 e : in out Edge from TopoDS;
145 bnd : Real from Standard;
146 FirstLast : Boolean from Standard)
150 ChoiceOfFaces(myclass;
151 faces : in out ListOfShape from TopTools;
152 cc : Curve from Geom;
153 par : Real from Standard;
154 bnd : Real from Standard;
155 Pln : Plane from Geom)
156 returns Face from TopoDS;
159 HeightMax(me: in out;
160 theSbase : Shape from TopoDS;
161 theSUntil : Shape from TopoDS;
162 p1 : in out Pnt from gp;
163 p2 : in out Pnt from gp)
164 returns Real from Standard
167 ExtremeFaces(me: in out;
168 RevolRib : Boolean from Standard;
169 bnd : Real from Standard;
170 Pln : Plane from Geom;
171 FirstEdge : in out Edge from TopoDS;
172 LastEdge : in out Edge from TopoDS;
173 FirstFace : in out Face from TopoDS;
174 LastFace : in out Face from TopoDS;
175 FirstVertex : in out Vertex from TopoDS;
176 LastVertex : in out Vertex from TopoDS;
177 OnFirstFace : in out Boolean from Standard;
178 OnLastFace : in out Boolean from Standard;
179 PtOnFirstEdge : in out Boolean from Standard;
180 PtOnLastEdge : in out Boolean from Standard;
181 OnFirstEdge : in out Edge from TopoDS;
182 OnLastEdge : in out Edge from TopoDS)
183 returns Boolean from Standard
187 PtOnEdgeVertex(me: in out;
188 RevolRib : Boolean from Standard;
189 shape : Shape from TopoDS;
191 FirstVertex : Vertex from TopoDS;
192 LastVertex : Vertex from TopoDS;
193 PtOnEdge : in out Boolean from Standard;
194 OnEdge : in out Edge from TopoDS;
195 PtOnVertex : in out Boolean from Standard;
196 OnVertex : in out Vertex from TopoDS)
200 SlidingProfile(me: in out;
201 Prof : in out Face from TopoDS;
202 RevolRib : Boolean from Standard;
203 myTol : Real from Standard;
204 Concavite : in out Integer from Standard;
205 myPln : Plane from Geom;
206 BndFace : Face from TopoDS;
207 CheckPnt : Pnt from gp;
208 FirstFace : Face from TopoDS;
209 LastFace : Face from TopoDS;
210 FirstVertex : Vertex from TopoDS;
211 LastVertex : Vertex from TopoDS;
212 FirstEdge : Edge from TopoDS;
213 LastEdge : Edge from TopoDS)
214 returns Boolean from Standard
218 NoSlidingProfile(me: in out;
219 Prof : in out Face from TopoDS;
220 RevolRib : Boolean from Standard;
221 myTol : Real from Standard;
222 Concavite : in out Integer from Standard;
223 myPln : Plane from Geom;
224 bnd : Real from Standard;
225 BndFace : Face from TopoDS;
226 CheckPnt : Pnt from gp;
227 FirstFace : Face from TopoDS;
228 LastFace : Face from TopoDS;
229 FirstVertex : Vertex from TopoDS;
230 LastVertex : Vertex from TopoDS;
231 FirstEdge : Edge from TopoDS;
232 LastEdge : Edge from TopoDS;
233 OnFirstFace : Boolean from Standard;
234 OnLastFace : Boolean from Standard)
235 returns Boolean from Standard
239 UpdateDescendants(me: in out; G: Gluer from LocOpe)
242 ---Purpose: Updates the data structures of descendant
243 -- shapes during the glueing operation.Returns the modified, generated
244 -- and deleted faces during the course of the glueing operation.
246 UpdateDescendants(me: in out;
247 B : HBuilder from TopOpeBRepBuild;
248 SResult : Shape from TopoDS;
249 SkipFace : Boolean from Standard = Standard_False)
253 --modified by NIZNHY-PKV Thu Mar 21 18:42:53 2002 f
254 UpdateDescendants(me: in out;
255 aBOP: BooleanOperation from BRepAlgoAPI;
256 SResult : Shape from TopoDS;
257 SkipFace : Boolean from Standard = Standard_False)
259 --modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002 t
261 UpdateDescendants(me: in out;
262 aBOP: HistoryCollector from BOP;
263 SResult : Shape from TopoDS;
264 SkipFace : Boolean from Standard = Standard_False)
266 ---Purpose: Updates the data structures of descendant
267 -- shapes during the glueing operation.
268 -- Returns the modified, generated and deleted faces during the course of the
269 -- glueing operation; furnishes the arguments of the resulting shape SResult using the
270 -- builder B to determine the type of modification such as orientation and splitting;
271 -- checks to see that the SResult belongs to the data structure of the original shape.
273 CurrentStatusError(me)
274 returns StatusError from BRepFeat;
278 myFirstPnt : Pnt from gp is protected;
279 myLastPnt : Pnt from gp is protected;
280 myFuse : Boolean from Standard is protected;
281 mySliding : Boolean from Standard is protected;
282 myMap : DataMapOfShapeListOfShape from TopTools is protected;
283 myLFMap : DataMapOfShapeListOfShape from TopTools is protected;
284 myFShape : Shape from TopoDS is protected;
285 myLShape : Shape from TopoDS is protected;
287 myPerfSelection: PerfSelection from BRepFeat is protected;
289 myWire : Wire from TopoDS is protected;
290 mySbase : Shape from TopoDS is protected;
291 mySkface : Face from TopoDS is protected;
292 myPbase : Face from TopoDS is protected;
293 myGShape : Shape from TopoDS is protected;
294 mySUntil : Shape from TopoDS is protected;
295 myGluedF : DataMapOfShapeShape from TopTools is protected;
296 myNewEdges: ListOfShape from TopTools is protected;
297 myTgtEdges: ListOfShape from TopTools is protected;
298 myFacesForDraft: ListOfShape from TopTools is protected;
300 myStatusError : StatusError from BRepFeat is protected;