0024023: Revamp the OCCT Handle -- ambiguity
[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-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI
18
19         ---Purpose:  Provides functions to build mechanical features.
20             -- Mechanical features include ribs - protrusions and grooves (or slots) - depressions along
21             -- planar (linear) surfaces or revolution surfaces. The semantics of mechanical features is built
22             -- around giving thickness to a contour. This thickness can either be unilateral - on one side
23             -- of the contour - or bilateral - on both sides.
24             -- As in the semantics of form features, the thickness is defined by construction of shapes
25             -- in specific contexts. The development contexts differ, however,in case of mechanical features.
26             -- Here they include extrusion:
27             -- -   to a limiting face of the basis shape
28             -- -   to or from a limiting plane
29             -- -   to a height.
30
31 uses Shape                     from TopoDS,
32      Face                      from TopoDS,
33      Wire                      from TopoDS,
34      Edge                      from TopoDS,
35      Vertex                    from TopoDS,
36      ShapeModification         from BRepBuilderAPI,
37      DataMapOfShapeListOfShape from TopTools,
38      ListOfShape               from TopTools,
39      SequenceOfCurve           from TColGeom,
40      Plane                     from Geom,
41      Curve                     from Geom,
42      DataMapOfShapeShape       from TopTools,
43      
44      Gluer                     from LocOpe,
45      HBuilder                  from TopOpeBRepBuild,
46      PerfSelection             from BRepFeat,
47      Pnt                       from gp,
48      Dir                       from gp,
49      StatusError               from BRepFeat,
50      --modified by NIZNHY-PKV Thu Mar 21 17:09:08 2002  f 
51      BooleanOperation          from BRepAlgoAPI
52      --modified by NIZNHY-PKV Thu Mar 21 17:09:11 2002  t
53 is
54
55     Initialize;
56     
57         ---Purpose: Redefines the empty constructor.
58         ---C++: inline
59
60
61 ---  Methods redefined from BRepBuilderAPI_MakeShape
62
63     IsDeleted(me : in out ; F: Shape from TopoDS) 
64     returns Boolean from Standard 
65     is redefined;
66             ---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.   
67     
68     Modified(me: in out; F: Shape from TopoDS)
69             ---Purpose: Returns the list of generated Faces F. This list may be empty.
70             ---C++:     return const &
71     returns ListOfShape from TopTools
72     is redefined;
73     
74
75     Generated(me: in out; S: Shape from TopoDS)
76             ---Purpose: Returns a list TopTools_ListOfShape of the faces S created in the shape.
77         ---C++:     return const &
78     returns ListOfShape from TopTools
79     is redefined;
80
81
82     FirstShape (me)
83             ---Purpose: Returns the list  of shapes created  at the bottom  of
84             --          the created form.  It may be an empty list.
85     returns ListOfShape from TopTools;
86              ---C++: return const&
87
88
89     LastShape (me)
90             ---Purpose: Returns  the list of shapes  created at the top of the
91             --          created form.  It may be an empty list.
92     returns ListOfShape from TopTools;
93              ---C++: return const&
94
95     LFPerform(me: in out)
96             ---Purpose: General perform method...
97
98             is static protected;
99
100     FacesForDraft(me)
101             ---Purpose: Returns a list of the limiting and glueing faces
102             -- generated by the feature. These faces did not originally exist in the basis shape.
103             -- The list provides the information necessary for
104             -- subsequent addition of a draft to a face. It may be an empty list.
105             -- If a face has tangent edges, no draft is possible, and the tangent edges must
106             -- subsequently be removed if you want to add a draft to the face.
107     returns ListOfShape from TopTools;
108              ---C++: return const&
109
110     NewEdges(me)
111             ---Purpose: Returns a list of the limiting and glueing edges
112             -- generated by the feature. These edges did not originally exist in the basis shape.
113             -- The list provides the information necessary for
114             -- subsequent addition of fillets. It may be an empty list.
115     returns ListOfShape from TopTools;
116              ---C++: return const&
117
118     TgtEdges(me)
119             ---Purpose: Returns a list of the tangent edges among the
120             -- limiting and glueing edges generated by the
121             -- feature. These edges did not originally exist in
122             -- the basis shape and are tangent to the face
123             -- against which the feature is built.
124             -- The list provides the information necessary for
125             -- subsequent addition of fillets. It may be an empty list.
126             -- If an edge is tangent, no fillet is possible, and
127             -- the edge must subsequently be removed if you want to add a fillet.
128     returns ListOfShape from TopTools;
129              ---C++: return const&
130
131     CheckPoint(me: in out;
132                    e        : Edge  from TopoDS;
133                bnd      : Real  from Standard;
134                Pln      : Plane from Geom)
135     returns Pnt from gp
136     is static protected;
137
138
139     Normal(me: in out;
140                F : Face from TopoDS;
141            P : Pnt from gp)
142     returns Dir from gp
143     is static protected;
144     
145             
146     IntPar(myclass; 
147                C    : Curve from Geom;
148            P    : Pnt   from gp)
149     returns Real from Standard;
150     
151     
152     EdgeExtention(me: in out;
153                           e         : in out Edge from TopoDS;
154                   bnd       : Real from Standard;
155                   FirstLast : Boolean from Standard)
156     is static protected;
157     
158     
159     ChoiceOfFaces(myclass;
160                           faces : in out ListOfShape from TopTools;
161                   cc    : Curve from Geom;
162                   par   : Real  from Standard;
163                   bnd   : Real  from Standard;
164                   Pln   : Plane from Geom)
165     returns Face from TopoDS;
166
167
168     HeightMax(me: in out; 
169                   theSbase  : Shape from TopoDS;
170               theSUntil : Shape from TopoDS;
171               p1        : in out Pnt   from gp;
172               p2        : in out Pnt   from gp)
173     returns Real from Standard
174     is static protected;
175         
176     ExtremeFaces(me: in out;
177                          RevolRib  : Boolean from Standard;
178                  bnd       : Real    from Standard;
179                  Pln       : Plane   from Geom;
180                  FirstEdge : in out Edge from TopoDS;
181                  LastEdge  : in out Edge from TopoDS;
182                  FirstFace : in out Face from TopoDS;
183                  LastFace  : in out Face from TopoDS;
184                  FirstVertex : in out Vertex  from TopoDS;
185                  LastVertex  : in out Vertex  from TopoDS;
186                  OnFirstFace : in out Boolean from Standard;
187                  OnLastFace  : in out Boolean from Standard;
188                  PtOnFirstEdge : in out Boolean from Standard;
189                  PtOnLastEdge  : in out Boolean from Standard;
190                  OnFirstEdge : in out Edge from TopoDS;
191                  OnLastEdge  : in out Edge from TopoDS)                        
192     returns Boolean from Standard
193     is static protected;
194     
195              
196     PtOnEdgeVertex(me: in out;
197                            RevolRib  : Boolean from Standard;
198                    shape     : Shape   from TopoDS;
199                    point     : Pnt     from gp;
200                    FirstVertex : Vertex  from TopoDS;
201                    LastVertex  : Vertex  from TopoDS;
202                    PtOnEdge  : in out Boolean from Standard;
203                    OnEdge    : in out Edge    from TopoDS;
204                    PtOnVertex  : in out Boolean from Standard;
205                    OnVertex    : in out Vertex  from TopoDS)
206     is static protected;
207     
208     
209     SlidingProfile(me: in out;
210                            Prof      : in out Face from TopoDS;
211                    RevolRib  : Boolean from Standard;
212                    myTol     : Real from Standard;
213                    Concavite : in out Integer from Standard;
214                    myPln     : Plane   from Geom;
215                    BndFace   : Face from TopoDS;
216                    CheckPnt  : Pnt  from gp;
217                    FirstFace : Face from TopoDS;
218                    LastFace  : Face from TopoDS;
219                    FirstVertex : Vertex  from TopoDS;
220                    LastVertex  : Vertex  from TopoDS;
221                    FirstEdge : Edge from TopoDS;
222                    LastEdge  : Edge from TopoDS)
223     returns Boolean from Standard
224     is static protected;
225     
226         
227     NoSlidingProfile(me: in out;
228                              Prof      : in out Face from TopoDS;
229                      RevolRib  : Boolean from Standard;
230                      myTol     : Real from Standard;
231                      Concavite : in out Integer from Standard;
232                      myPln     : Plane   from Geom;
233                      bnd       : Real from Standard;
234                      BndFace   : Face from TopoDS;
235                      CheckPnt  : Pnt  from gp;
236                      FirstFace : Face from TopoDS;
237                      LastFace  : Face from TopoDS;
238                      FirstVertex : Vertex  from TopoDS;
239                      LastVertex  : Vertex  from TopoDS;
240                      FirstEdge : Edge from TopoDS;
241                      LastEdge  : Edge from TopoDS;
242                      OnFirstFace : Boolean from Standard;
243                      OnLastFace  : Boolean from Standard)
244     returns Boolean from Standard
245     is static protected;
246     
247         
248     UpdateDescendants(me: in out; G: Gluer from LocOpe)
249     
250     is static protected;
251             ---Purpose: Updates the data structures of descendant
252             -- shapes during the glueing operation.Returns the modified, generated
253             --   and deleted faces during the course of the glueing operation.
254
255     UpdateDescendants(me: in out; 
256                        B        : HBuilder from TopOpeBRepBuild;
257                        SResult  : Shape    from TopoDS;
258                        SkipFace : Boolean  from Standard = Standard_False)
259     
260     is static protected;
261  
262 --modified by NIZNHY-PKV Thu Mar 21 18:42:53 2002  f
263     UpdateDescendants(me: in out;  
264                    aBOP: BooleanOperation from BRepAlgoAPI;   
265                SResult  : Shape    from TopoDS;
266                SkipFace : Boolean  from Standard = Standard_False)
267             is static protected;
268 --modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002  t
269
270     CurrentStatusError(me)
271     returns StatusError from BRepFeat;
272
273 fields
274
275     myFirstPnt : Pnt                      from gp is protected;
276     myLastPnt  : Pnt                      from gp is protected;
277     myFuse    : Boolean                   from Standard is protected;
278     mySliding : Boolean                   from Standard is protected;
279     myMap     : DataMapOfShapeListOfShape from TopTools is protected;
280     myLFMap   : DataMapOfShapeListOfShape from TopTools is protected;
281     myFShape  : Shape                     from TopoDS   is protected;
282     myLShape  : Shape                     from TopoDS   is protected;
283     
284     myPerfSelection: PerfSelection        from BRepFeat is protected;
285     
286     myWire    : Wire                      from TopoDS is protected;
287     mySbase   : Shape                     from TopoDS is protected;
288     mySkface  : Face                      from TopoDS is protected;
289     myPbase   : Face                      from TopoDS is protected;
290     myGShape  : Shape                     from TopoDS is protected;
291     mySUntil  : Shape                     from TopoDS is protected;
292     myGluedF  : DataMapOfShapeShape       from TopTools is protected;
293     myNewEdges: ListOfShape               from TopTools is protected; 
294     myTgtEdges: ListOfShape               from TopTools is protected;
295     myFacesForDraft: ListOfShape          from TopTools is protected;
296     
297     myStatusError : StatusError           from BRepFeat is protected;
298        
299 end RibSlot;