summaryrefslogtreecommitdiff
path: root/src/BRepFeat/BRepFeat_RibSlot.cdl
blob: edf76c2e9aab35616b96791d899af180124eaefb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
-- File:	BRepFeat_LF.cdl
-- Created:	Wed Oct  8 10:06:11 1997
-- Author:	Olga KOULECHOVA
--		<opt@cleox.paris1.matra-dtv.fr>
---Copyright:	 Matra Datavision 1997

deferred class RibSlot from BRepFeat inherits MakeShape from BRepBuilderAPI

	---Purpose:  Provides functions to build mechanical features.
    	-- Mechanical features include ribs - protrusions and grooves (or slots) - depressions along
    	-- planar (linear) surfaces or revolution surfaces. The semantics of mechanical features is built
    	-- around giving thickness to a contour. This thickness can either be unilateral - on one side
    	-- of the contour - or bilateral - on both sides.
    	-- As in the semantics of form features, the thickness is defined by construction of shapes
    	-- in specific contexts. The development contexts differ, however,in case of mechanical features.
    	-- Here they include extrusion:
    	-- -   to a limiting face of the basis shape
    	-- -   to or from a limiting plane
    	-- -   to a height.

uses Shape                     from TopoDS,
     Face                      from TopoDS,
     Wire                      from TopoDS,
     Edge                      from TopoDS,
     Vertex                    from TopoDS,
     ShapeModification         from BRepBuilderAPI,
     DataMapOfShapeListOfShape from TopTools,
     ListOfShape               from TopTools,
     SequenceOfCurve           from TColGeom,
     Plane                     from Geom,
     Curve                     from Geom,
     DataMapOfShapeShape       from TopTools,
     
     Gluer                     from LocOpe,
     HBuilder                  from TopOpeBRepBuild,
     PerfSelection             from BRepFeat,
     Pnt                       from gp,
     Dir                       from gp,
     StatusError               from BRepFeat,
     --modified by NIZNHY-PKV Thu Mar 21 17:09:08 2002  f 
     BooleanOperation          from BRepAlgoAPI, 
     --modified by NIZNHY-PKV Thu Mar 21 17:09:11 2002  t
     HistoryCollector          from BOP
is

    Initialize;
    
	---Purpose: Redefines the empty constructor.
	---C++: inline


---  Methods redefined from BRepBuilderAPI_MakeShape

    IsDeleted(me : in out ; F: Shape from TopoDS) 
    returns Boolean from Standard 
    is redefined;
    	---Purpose: Returns true if F a TopoDS_Shape of type edge or face has been deleted.   
    
    Modified(me: in out; F: Shape from TopoDS)
    	---Purpose: Returns the list of generated Faces F. This list may be empty.
    	---C++:     return const &
    returns ListOfShape from TopTools
    is redefined;
    

    Generated(me: in out; S: Shape from TopoDS)
    	---Purpose: Returns a list TopTools_ListOfShape of the faces S created in the shape.
	---C++:     return const &
    returns ListOfShape from TopTools
    is redefined;


    FirstShape (me)
    	---Purpose: Returns the list  of shapes created  at the bottom  of
    	--          the created form.  It may be an empty list.
    returns ListOfShape from TopTools;
     	---C++: return const&


    LastShape (me)
    	---Purpose: Returns  the list of shapes  created at the top of the
    	--          created form.  It may be an empty list.
    returns ListOfShape from TopTools;
     	---C++: return const&

    LFPerform(me: in out)
    	---Purpose: General perform method...

    	is static protected;

    FacesForDraft(me)
    	---Purpose: Returns a list of the limiting and glueing faces
    	-- generated by the feature. These faces did not originally exist in the basis shape.
    	-- The list provides the information necessary for
    	-- subsequent addition of a draft to a face. It may be an empty list.
    	-- If a face has tangent edges, no draft is possible, and the tangent edges must
    	-- subsequently be removed if you want to add a draft to the face.
    returns ListOfShape from TopTools;
     	---C++: return const&

    NewEdges(me)
    	---Purpose: Returns a list of the limiting and glueing edges
    	-- generated by the feature. These edges did not originally exist in the basis shape.
    	-- The list provides the information necessary for
    	-- subsequent addition of fillets. It may be an empty list.
    returns ListOfShape from TopTools;
     	---C++: return const&

    TgtEdges(me)
    	---Purpose: Returns a list of the tangent edges among the
    	-- limiting and glueing edges generated by the
    	-- feature. These edges did not originally exist in
    	-- the basis shape and are tangent to the face
    	-- against which the feature is built.
    	-- The list provides the information necessary for
    	-- subsequent addition of fillets. It may be an empty list.
    	-- If an edge is tangent, no fillet is possible, and
    	-- the edge must subsequently be removed if you want to add a fillet.
    returns ListOfShape from TopTools;
     	---C++: return const&

    CheckPoint(me: in out;
    	       e        : Edge  from TopoDS;
	       bnd      : Real  from Standard;
	       Pln      : Plane from Geom)
    returns Pnt from gp
    is static protected;


    Normal(me: in out;
    	   F : Face from TopoDS;
	   P : Pnt from gp)
    returns Dir from gp
    is static protected;
    
    	
    IntPar(myclass; 
    	   C    : Curve from Geom;
	   P    : Pnt   from gp)
    returns Real from Standard;
    
    
    EdgeExtention(me: in out;
    	    	  e         : in out Edge from TopoDS;
		  bnd       : Real from Standard;
		  FirstLast : Boolean from Standard)
    is static protected;
    
    
    ChoiceOfFaces(myclass;
    	    	  faces : in out ListOfShape from TopTools;
		  cc    : Curve from Geom;
		  par   : Real  from Standard;
		  bnd   : Real  from Standard;
		  Pln   : Plane from Geom)
    returns Face from TopoDS;


    HeightMax(me: in out; 
    	      theSbase  : Shape from TopoDS;
	      theSUntil : Shape from TopoDS;
	      p1        : in out Pnt   from gp;
	      p2        : in out Pnt   from gp)
    returns Real from Standard
    is static protected;
	
    ExtremeFaces(me: in out;
    	    	 RevolRib  : Boolean from Standard;
		 bnd       : Real    from Standard;
		 Pln       : Plane   from Geom;
		 FirstEdge : in out Edge from TopoDS;
		 LastEdge  : in out Edge from TopoDS;
		 FirstFace : in out Face from TopoDS;
		 LastFace  : in out Face from TopoDS;
		 FirstVertex : in out Vertex  from TopoDS;
		 LastVertex  : in out Vertex  from TopoDS;
		 OnFirstFace : in out Boolean from Standard;
		 OnLastFace  : in out Boolean from Standard;
		 PtOnFirstEdge : in out Boolean from Standard;
		 PtOnLastEdge  : in out Boolean from Standard;
		 OnFirstEdge : in out Edge from TopoDS;
		 OnLastEdge  : in out Edge from TopoDS)			
    returns Boolean from Standard
    is static protected;
    
     	
    PtOnEdgeVertex(me: in out;
    	    	   RevolRib  : Boolean from Standard;
		   shape     : Shape   from TopoDS;
		   point     : Pnt     from gp;
		   FirstVertex : Vertex  from TopoDS;
		   LastVertex  : Vertex  from TopoDS;
		   PtOnEdge  : in out Boolean from Standard;
		   OnEdge    : in out Edge    from TopoDS;
		   PtOnVertex  : in out Boolean from Standard;
		   OnVertex    : in out Vertex  from TopoDS)
    is static protected;
    
    
    SlidingProfile(me: in out;
    	    	   Prof      : in out Face from TopoDS;
		   RevolRib  : Boolean from Standard;
		   myTol     : Real from Standard;
		   Concavite : in out Integer from Standard;
		   myPln     : Plane   from Geom;
		   BndFace   : Face from TopoDS;
		   CheckPnt  : Pnt  from gp;
		   FirstFace : Face from TopoDS;
		   LastFace  : Face from TopoDS;
		   FirstVertex : Vertex  from TopoDS;
		   LastVertex  : Vertex  from TopoDS;
		   FirstEdge : Edge from TopoDS;
		   LastEdge  : Edge from TopoDS)
    returns Boolean from Standard
    is static protected;
    
	
    NoSlidingProfile(me: in out;
    	    	     Prof      : in out Face from TopoDS;
		     RevolRib  : Boolean from Standard;
		     myTol     : Real from Standard;
		     Concavite : in out Integer from Standard;
		     myPln     : Plane   from Geom;
		     bnd       : Real from Standard;
		     BndFace   : Face from TopoDS;
		     CheckPnt  : Pnt  from gp;
		     FirstFace : Face from TopoDS;
		     LastFace  : Face from TopoDS;
		     FirstVertex : Vertex  from TopoDS;
		     LastVertex  : Vertex  from TopoDS;
		     FirstEdge : Edge from TopoDS;
		     LastEdge  : Edge from TopoDS;
		     OnFirstFace : Boolean from Standard;
		     OnLastFace  : Boolean from Standard)
    returns Boolean from Standard
    is static protected;
    
	
    UpdateDescendants(me: in out; G: Gluer from LocOpe)
    
    is static protected;
    	---Purpose: Updates the data structures of descendant
    	-- shapes during the glueing operation.Returns the modified, generated
    	--   and deleted faces during the course of the glueing operation.

    UpdateDescendants(me: in out; 
                       B        : HBuilder from TopOpeBRepBuild;
		       SResult  : Shape    from TopoDS;
                       SkipFace : Boolean  from Standard = Standard_False)
    
    is static protected;
 
--modified by NIZNHY-PKV Thu Mar 21 18:42:53 2002  f
    UpdateDescendants(me: in out;  
    	       aBOP: BooleanOperation from BRepAlgoAPI;   
	       SResult  : Shape    from TopoDS;
               SkipFace : Boolean  from Standard = Standard_False)
    	is static protected;
--modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002  t

    UpdateDescendants(me: in out;  
    	       aBOP: HistoryCollector from BOP;   
	       SResult  : Shape    from TopoDS;
               SkipFace : Boolean  from Standard = Standard_False)
    	is static protected;
    	---Purpose: Updates the data structures of descendant
    	-- shapes during the glueing operation.
    	--   Returns the modified, generated and deleted faces during the course of the
    	--   glueing operation; furnishes the arguments of the resulting shape SResult using the
    	--   builder B to determine the type of modification such as orientation and splitting;
    	--   checks to see that the SResult belongs to the data structure of the original shape.
        
    CurrentStatusError(me)
    returns StatusError from BRepFeat;

fields

    myFirstPnt : Pnt                      from gp is protected;
    myLastPnt  : Pnt                      from gp is protected;
    myFuse    : Boolean                   from Standard is protected;
    mySliding : Boolean                   from Standard is protected;
    myMap     : DataMapOfShapeListOfShape from TopTools is protected;
    myLFMap   : DataMapOfShapeListOfShape from TopTools is protected;
    myFShape  : Shape                     from TopoDS   is protected;
    myLShape  : Shape                     from TopoDS   is protected;
    
    myPerfSelection: PerfSelection        from BRepFeat is protected;
    
    myWire    : Wire                      from TopoDS is protected;
    mySbase   : Shape                     from TopoDS is protected;
    mySkface  : Face                      from TopoDS is protected;
    myPbase   : Face                      from TopoDS is protected;
    myGShape  : Shape                     from TopoDS is protected;
    mySUntil  : Shape                     from TopoDS is protected;
    myGluedF  : DataMapOfShapeShape       from TopTools is protected;
    myNewEdges: ListOfShape               from TopTools is protected; 
    myTgtEdges: ListOfShape               from TopTools is protected;
    myFacesForDraft: ListOfShape          from TopTools is protected;
    
    myStatusError : StatusError           from BRepFeat is protected;
       
end RibSlot;