1 -- Created on: 1997-10-08
2 -- Created by: Olga KOULECHOVA
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI
24 ---Purpose: Provides functions to build mechanical features.
25 -- Mechanical features include ribs - protrusions and grooves (or slots) - depressions along
26 -- planar (linear) surfaces or revolution surfaces. The semantics of mechanical features is built
27 -- around giving thickness to a contour. This thickness can either be unilateral - on one side
28 -- of the contour - or bilateral - on both sides.
29 -- As in the semantics of form features, the thickness is defined by construction of shapes
30 -- in specific contexts. The development contexts differ, however,in case of mechanical features.
31 -- Here they include extrusion:
32 -- - to a limiting face of the basis shape
33 -- - to or from a limiting plane
36 uses Shape from TopoDS,
41 ShapeModification from BRepBuilderAPI,
42 DataMapOfShapeListOfShape from TopTools,
43 ListOfShape from TopTools,
44 SequenceOfCurve from TColGeom,
47 DataMapOfShapeShape from TopTools,
50 HBuilder from TopOpeBRepBuild,
51 PerfSelection from BRepFeat,
54 StatusError from BRepFeat,
55 --modified by NIZNHY-PKV Thu Mar 21 17:09:08 2002 f
56 BooleanOperation from BRepAlgoAPI
57 --modified by NIZNHY-PKV Thu Mar 21 17:09:11 2002 t
62 ---Purpose: Redefines the empty constructor.
66 --- Methods redefined from BRepBuilderAPI_MakeShape
68 IsDeleted(me : in out ; F: Shape from TopoDS)
69 returns Boolean from Standard
71 ---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.
73 Modified(me: in out; F: Shape from TopoDS)
74 ---Purpose: Returns the list of generated Faces F. This list may be empty.
75 ---C++: return const &
76 returns ListOfShape from TopTools
80 Generated(me: in out; S: Shape from TopoDS)
81 ---Purpose: Returns a list TopTools_ListOfShape of the faces S created in the shape.
82 ---C++: return const &
83 returns ListOfShape from TopTools
88 ---Purpose: Returns the list of shapes created at the bottom of
89 -- the created form. It may be an empty list.
90 returns ListOfShape from TopTools;
95 ---Purpose: Returns the list of shapes created at the top of the
96 -- created form. It may be an empty list.
97 returns ListOfShape from TopTools;
100 LFPerform(me: in out)
101 ---Purpose: General perform method...
106 ---Purpose: Returns a list of the limiting and glueing faces
107 -- generated by the feature. These faces did not originally exist in the basis shape.
108 -- The list provides the information necessary for
109 -- subsequent addition of a draft to a face. It may be an empty list.
110 -- If a face has tangent edges, no draft is possible, and the tangent edges must
111 -- subsequently be removed if you want to add a draft to the face.
112 returns ListOfShape from TopTools;
113 ---C++: return const&
116 ---Purpose: Returns a list of the limiting and glueing edges
117 -- generated by the feature. These edges did not originally exist in the basis shape.
118 -- The list provides the information necessary for
119 -- subsequent addition of fillets. It may be an empty list.
120 returns ListOfShape from TopTools;
121 ---C++: return const&
124 ---Purpose: Returns a list of the tangent edges among the
125 -- limiting and glueing edges generated by the
126 -- feature. These edges did not originally exist in
127 -- the basis shape and are tangent to the face
128 -- against which the feature is built.
129 -- The list provides the information necessary for
130 -- subsequent addition of fillets. It may be an empty list.
131 -- If an edge is tangent, no fillet is possible, and
132 -- the edge must subsequently be removed if you want to add a fillet.
133 returns ListOfShape from TopTools;
134 ---C++: return const&
136 CheckPoint(me: in out;
137 e : Edge from TopoDS;
138 bnd : Real from Standard;
139 Pln : Plane from Geom)
145 F : Face from TopoDS;
154 returns Real from Standard;
157 EdgeExtention(me: in out;
158 e : in out Edge from TopoDS;
159 bnd : Real from Standard;
160 FirstLast : Boolean from Standard)
164 ChoiceOfFaces(myclass;
165 faces : in out ListOfShape from TopTools;
166 cc : Curve from Geom;
167 par : Real from Standard;
168 bnd : Real from Standard;
169 Pln : Plane from Geom)
170 returns Face from TopoDS;
173 HeightMax(me: in out;
174 theSbase : Shape from TopoDS;
175 theSUntil : Shape from TopoDS;
176 p1 : in out Pnt from gp;
177 p2 : in out Pnt from gp)
178 returns Real from Standard
181 ExtremeFaces(me: in out;
182 RevolRib : Boolean from Standard;
183 bnd : Real from Standard;
184 Pln : Plane from Geom;
185 FirstEdge : in out Edge from TopoDS;
186 LastEdge : in out Edge from TopoDS;
187 FirstFace : in out Face from TopoDS;
188 LastFace : in out Face from TopoDS;
189 FirstVertex : in out Vertex from TopoDS;
190 LastVertex : in out Vertex from TopoDS;
191 OnFirstFace : in out Boolean from Standard;
192 OnLastFace : in out Boolean from Standard;
193 PtOnFirstEdge : in out Boolean from Standard;
194 PtOnLastEdge : in out Boolean from Standard;
195 OnFirstEdge : in out Edge from TopoDS;
196 OnLastEdge : in out Edge from TopoDS)
197 returns Boolean from Standard
201 PtOnEdgeVertex(me: in out;
202 RevolRib : Boolean from Standard;
203 shape : Shape from TopoDS;
205 FirstVertex : Vertex from TopoDS;
206 LastVertex : Vertex from TopoDS;
207 PtOnEdge : in out Boolean from Standard;
208 OnEdge : in out Edge from TopoDS;
209 PtOnVertex : in out Boolean from Standard;
210 OnVertex : in out Vertex from TopoDS)
214 SlidingProfile(me: in out;
215 Prof : in out Face from TopoDS;
216 RevolRib : Boolean from Standard;
217 myTol : Real from Standard;
218 Concavite : in out Integer from Standard;
219 myPln : Plane from Geom;
220 BndFace : Face from TopoDS;
221 CheckPnt : Pnt from gp;
222 FirstFace : Face from TopoDS;
223 LastFace : Face from TopoDS;
224 FirstVertex : Vertex from TopoDS;
225 LastVertex : Vertex from TopoDS;
226 FirstEdge : Edge from TopoDS;
227 LastEdge : Edge from TopoDS)
228 returns Boolean from Standard
232 NoSlidingProfile(me: in out;
233 Prof : in out Face from TopoDS;
234 RevolRib : Boolean from Standard;
235 myTol : Real from Standard;
236 Concavite : in out Integer from Standard;
237 myPln : Plane from Geom;
238 bnd : Real from Standard;
239 BndFace : Face from TopoDS;
240 CheckPnt : Pnt from gp;
241 FirstFace : Face from TopoDS;
242 LastFace : Face from TopoDS;
243 FirstVertex : Vertex from TopoDS;
244 LastVertex : Vertex from TopoDS;
245 FirstEdge : Edge from TopoDS;
246 LastEdge : Edge from TopoDS;
247 OnFirstFace : Boolean from Standard;
248 OnLastFace : Boolean from Standard)
249 returns Boolean from Standard
253 UpdateDescendants(me: in out; G: Gluer from LocOpe)
256 ---Purpose: Updates the data structures of descendant
257 -- shapes during the glueing operation.Returns the modified, generated
258 -- and deleted faces during the course of the glueing operation.
260 UpdateDescendants(me: in out;
261 B : HBuilder from TopOpeBRepBuild;
262 SResult : Shape from TopoDS;
263 SkipFace : Boolean from Standard = Standard_False)
267 --modified by NIZNHY-PKV Thu Mar 21 18:42:53 2002 f
268 UpdateDescendants(me: in out;
269 aBOP: BooleanOperation from BRepAlgoAPI;
270 SResult : Shape from TopoDS;
271 SkipFace : Boolean from Standard = Standard_False)
273 --modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002 t
275 CurrentStatusError(me)
276 returns StatusError from BRepFeat;
280 myFirstPnt : Pnt from gp is protected;
281 myLastPnt : Pnt from gp is protected;
282 myFuse : Boolean from Standard is protected;
283 mySliding : Boolean from Standard is protected;
284 myMap : DataMapOfShapeListOfShape from TopTools is protected;
285 myLFMap : DataMapOfShapeListOfShape from TopTools is protected;
286 myFShape : Shape from TopoDS is protected;
287 myLShape : Shape from TopoDS is protected;
289 myPerfSelection: PerfSelection from BRepFeat is protected;
291 myWire : Wire from TopoDS is protected;
292 mySbase : Shape from TopoDS is protected;
293 mySkface : Face from TopoDS is protected;
294 myPbase : Face from TopoDS is protected;
295 myGShape : Shape from TopoDS is protected;
296 mySUntil : Shape from TopoDS is protected;
297 myGluedF : DataMapOfShapeShape from TopTools is protected;
298 myNewEdges: ListOfShape from TopTools is protected;
299 myTgtEdges: ListOfShape from TopTools is protected;
300 myFacesForDraft: ListOfShape from TopTools is protected;
302 myStatusError : StatusError from BRepFeat is protected;