0022492: Scaled sphere (Solid with BSplineSurface) is wrongly exported in STEP.
[occt.git] / src / BRepFeat / BRepFeat_RibSlot.cdl
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
6
7 deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI
8
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
19         -- -   to a height.
20
21 uses Shape                     from TopoDS,
22      Face                      from TopoDS,
23      Wire                      from TopoDS,
24      Edge                      from TopoDS,
25      Vertex                    from TopoDS,
26      ShapeModification         from BRepBuilderAPI,
27      DataMapOfShapeListOfShape from TopTools,
28      ListOfShape               from TopTools,
29      SequenceOfCurve           from TColGeom,
30      Plane                     from Geom,
31      Curve                     from Geom,
32      DataMapOfShapeShape       from TopTools,
33      
34      Gluer                     from LocOpe,
35      HBuilder                  from TopOpeBRepBuild,
36      PerfSelection             from BRepFeat,
37      Pnt                       from gp,
38      Dir                       from gp,
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
44 is
45
46     Initialize;
47     
48         ---Purpose: Redefines the empty constructor.
49         ---C++: inline
50
51
52 ---  Methods redefined from BRepBuilderAPI_MakeShape
53
54     IsDeleted(me : in out ; F: Shape from TopoDS) 
55     returns Boolean from Standard 
56     is redefined;
57         ---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.   
58     
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
63     is redefined;
64     
65
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
70     is redefined;
71
72
73     FirstShape (me)
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;
77         ---C++: return const&
78
79
80     LastShape (me)
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;
84         ---C++: return const&
85
86     LFPerform(me: in out)
87         ---Purpose: General perform method...
88
89         is static protected;
90
91     FacesForDraft(me)
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;
99         ---C++: return const&
100
101     NewEdges(me)
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&
108
109     TgtEdges(me)
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&
121
122     CheckPoint(me: in out;
123                e        : Edge  from TopoDS;
124                bnd      : Real  from Standard;
125                Pln      : Plane from Geom)
126     returns Pnt from gp
127     is static protected;
128
129
130     Normal(me: in out;
131            F : Face from TopoDS;
132            P : Pnt from gp)
133     returns Dir from gp
134     is static protected;
135     
136         
137     IntPar(myclass; 
138            C    : Curve from Geom;
139            P    : Pnt   from gp)
140     returns Real from Standard;
141     
142     
143     EdgeExtention(me: in out;
144                   e         : in out Edge from TopoDS;
145                   bnd       : Real from Standard;
146                   FirstLast : Boolean from Standard)
147     is static protected;
148     
149     
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;
157
158
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
165     is static protected;
166         
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
184     is static protected;
185     
186         
187     PtOnEdgeVertex(me: in out;
188                    RevolRib  : Boolean from Standard;
189                    shape     : Shape   from TopoDS;
190                    point     : Pnt     from gp;
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)
197     is static protected;
198     
199     
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
215     is static protected;
216     
217         
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
236     is static protected;
237     
238         
239     UpdateDescendants(me: in out; G: Gluer from LocOpe)
240     
241     is static protected;
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.
245
246     UpdateDescendants(me: in out; 
247                        B        : HBuilder from TopOpeBRepBuild;
248                        SResult  : Shape    from TopoDS;
249                        SkipFace : Boolean  from Standard = Standard_False)
250     
251     is static protected;
252  
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)
258         is static protected;
259 --modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002  t
260
261     UpdateDescendants(me: in out;  
262                aBOP: HistoryCollector from BOP;   
263                SResult  : Shape    from TopoDS;
264                SkipFace : Boolean  from Standard = Standard_False)
265         is static protected;
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.
272         
273     CurrentStatusError(me)
274     returns StatusError from BRepFeat;
275
276 fields
277
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;
286     
287     myPerfSelection: PerfSelection        from BRepFeat is protected;
288     
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;
299     
300     myStatusError : StatusError           from BRepFeat is protected;
301        
302 end RibSlot;