0024048: "Basic Runtime Checks" option of VS projects should be equal to "RTC1"
[occt.git] / src / BRepFeat / BRepFeat_RibSlot.cdl
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
5 --
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.
10 --
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.
13 --
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.
20
21
22 deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI
23
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
34             -- -   to a height.
35
36 uses Shape                     from TopoDS,
37      Face                      from TopoDS,
38      Wire                      from TopoDS,
39      Edge                      from TopoDS,
40      Vertex                    from TopoDS,
41      ShapeModification         from BRepBuilderAPI,
42      DataMapOfShapeListOfShape from TopTools,
43      ListOfShape               from TopTools,
44      SequenceOfCurve           from TColGeom,
45      Plane                     from Geom,
46      Curve                     from Geom,
47      DataMapOfShapeShape       from TopTools,
48      
49      Gluer                     from LocOpe,
50      HBuilder                  from TopOpeBRepBuild,
51      PerfSelection             from BRepFeat,
52      Pnt                       from gp,
53      Dir                       from gp,
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
58 is
59
60     Initialize;
61     
62         ---Purpose: Redefines the empty constructor.
63         ---C++: inline
64
65
66 ---  Methods redefined from BRepBuilderAPI_MakeShape
67
68     IsDeleted(me : in out ; F: Shape from TopoDS) 
69     returns Boolean from Standard 
70     is redefined;
71             ---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.   
72     
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
77     is redefined;
78     
79
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
84     is redefined;
85
86
87     FirstShape (me)
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;
91              ---C++: return const&
92
93
94     LastShape (me)
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;
98              ---C++: return const&
99
100     LFPerform(me: in out)
101             ---Purpose: General perform method...
102
103             is static protected;
104
105     FacesForDraft(me)
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&
114
115     NewEdges(me)
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&
122
123     TgtEdges(me)
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&
135
136     CheckPoint(me: in out;
137                    e        : Edge  from TopoDS;
138                bnd      : Real  from Standard;
139                Pln      : Plane from Geom)
140     returns Pnt from gp
141     is static protected;
142
143
144     Normal(me: in out;
145                F : Face from TopoDS;
146            P : Pnt from gp)
147     returns Dir from gp
148     is static protected;
149     
150             
151     IntPar(myclass; 
152                C    : Curve from Geom;
153            P    : Pnt   from gp)
154     returns Real from Standard;
155     
156     
157     EdgeExtention(me: in out;
158                           e         : in out Edge from TopoDS;
159                   bnd       : Real from Standard;
160                   FirstLast : Boolean from Standard)
161     is static protected;
162     
163     
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;
171
172
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
179     is static protected;
180         
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
198     is static protected;
199     
200              
201     PtOnEdgeVertex(me: in out;
202                            RevolRib  : Boolean from Standard;
203                    shape     : Shape   from TopoDS;
204                    point     : Pnt     from gp;
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)
211     is static protected;
212     
213     
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
229     is static protected;
230     
231         
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
250     is static protected;
251     
252         
253     UpdateDescendants(me: in out; G: Gluer from LocOpe)
254     
255     is static protected;
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.
259
260     UpdateDescendants(me: in out; 
261                        B        : HBuilder from TopOpeBRepBuild;
262                        SResult  : Shape    from TopoDS;
263                        SkipFace : Boolean  from Standard = Standard_False)
264     
265     is static protected;
266  
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)
272             is static protected;
273 --modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002  t
274
275     CurrentStatusError(me)
276     returns StatusError from BRepFeat;
277
278 fields
279
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;
288     
289     myPerfSelection: PerfSelection        from BRepFeat is protected;
290     
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;
301     
302     myStatusError : StatusError           from BRepFeat is protected;
303        
304 end RibSlot;