0022627: Change OCCT memory management defaults
[occt.git] / src / BRepFeat / BRepFeat_Form.cdl
CommitLineData
7fd59977 1-- File: BRepFeat_Form.cdl
2-- Created: Tue Feb 13 13:44:09 1996
3-- Author: Jacques GOUSSARD
4-- <jag@bravox>
5---Copyright: Matra Datavision 1996
6
7
8
9deferred class Form from BRepFeat inherits MakeShape from BRepBuilderAPI
10
11 ---Purpose: Provides general functions to build form features.
12 -- Form features can be depressions or protrusions and include the following types:
13 -- - Cylinder
14 -- - Draft Prism
15 -- - Prism
16 -- - Revolved feature
17 -- - Pipe
18 -- In each case, you have a choice of operation type between the following:
19 -- - removing matter (a Boolean cut: Fuse setting 0)
20 -- - adding matter (Boolean fusion: Fuse setting 1)
21 -- The semantics of form feature creation is based on the construction of shapes:
22 -- - along a length
23 -- - up to a limiting face
24 -- - from a limiting face to a height
25 -- - above and/or below a plane
26 -- The shape defining construction of the feature can be either the
27 -- supporting edge or the concerned area of a face.
28 -- In case of the supporting edge, this contour can be attached to a
29 -- face of the basis shape by binding. When the contour is bound to this
30 -- face, the information that the contour will slide on the face
31 -- becomes available to the relevant class methods. In case of the
32 -- concerned area of a face, you could, for example, cut it out and
33 -- move it to a different height which will define the limiting face of a
34 -- protrusion or depression.
35 -- Topological definition with local operations of this sort makes
36 -- calculations simpler and faster than a global operation. The latter
37 -- would entail a second phase of removing unwanted matter to get the same result.
38
39uses Shape from TopoDS,
40 Face from TopoDS,
41 ShapeModification from BRepBuilderAPI,
42 DataMapOfShapeListOfShape from TopTools,
43 ListOfShape from TopTools,
44 SequenceOfCurve from TColGeom,
45 Curve from Geom,
46 DataMapOfShapeShape from TopTools,
47 Gluer from LocOpe,
48 PerfSelection from BRepFeat,
49 StatusError from BRepFeat,
50 HBuilder from TopOpeBRepBuild,
51 --modified by NIZNHY-PKV Thu Mar 21 17:09:08 2002 f
52 BooleanOperation from BRepAlgoAPI,
53 --modified by NIZNHY-PKV Thu Mar 21 17:09:11 2002 t
54 HistoryCollector from BOP
55is
56
57 Initialize;
58
59 ---Purpose: Redefines the empty constructor.
60 ---C++: inline
61
62--- Methods redefined from BRepBuilderAPI_MakeShape
63
64 Modified(me: in out; F: Shape from TopoDS)
65 ---Purpose: returns the list of generated Faces.
66 ---C++: return const &
67 ---Level: Public
68 returns ListOfShape from TopTools
69 is redefined;
70
71
72 Generated(me: in out; S: Shape from TopoDS)
73 ---Purpose: returns a list of the created faces
74 -- from the shape <S>.
75 ---C++: return const &
76 ---Level: Public
77 returns ListOfShape from TopTools
78 is redefined;
79
80 IsDeleted (me: in out; S : Shape from TopoDS)
81 returns Boolean
82 is redefined;
83
84
85
86 FirstShape (me)
87 ---Purpose: Returns the list of shapes created at the bottom of
88 -- the created form. It may be an empty list.
89 returns ListOfShape from TopTools;
90 ---C++: return const&
91
92
93 LastShape (me)
94 ---Purpose: Returns the list of shapes created at the top of the
95 -- created form. It may be an empty list.
96 returns ListOfShape from TopTools;
97 ---C++: return const&
98
99 NewEdges(me)
100 ---Purpose: Returns a list of the limiting and glueing edges
101 -- generated by the feature. These edges did not originally
102 -- exist in the basis shape.
103 -- The list provides the information necessary for
104 -- subsequent addition of fillets. It may be an empty list.
105 ---C++: return const&
106 returns ListOfShape from TopTools;
107
108 TgtEdges(me)
109 ---Purpose: Returns a list of the tangent edges among the limiting
110 -- and glueing edges generated by the feature. These
111 -- edges did not originally exist in the basis shape and are
112 -- tangent to the face against which the feature is built.
113 -- The list provides the information necessary for
114 -- subsequent addition of fillets. It may be an empty list.
115 -- If an edge is tangent, no fillet is possible, and the edge
116 -- must subsequently be removed if you want to add a fillet.
117 ---C++: return const&
118 returns ListOfShape from TopTools;
119
120
121 BasisShapeValid(me: in out)
122 --- Purpose: Initializes the topological construction if the basis shape is present.
123 ---C++: inline
124 is static;
125
126
127 GeneratedShapeValid(me: in out)
128 ---Purpose: Initializes the topological construction if the generated shape S is present.
129 ---C++: inline
130 is static;
131
132
133 ShapeFromValid(me: in out)
134 ---Purpose:
135 -- Initializes the topological construction if the shape is
136 -- present from the specified integer on.
137 ---C++: inline
138 is static;
139
140
141 ShapeUntilValid(me: in out)
142 --- Purpose:
143 -- Initializes the topological construction if the shape is
144 -- present until the specified integer.
145 ---C++: inline
146 is static;
147
148
149 GluedFacesValid(me: in out)
150 ---Purpose:
151 -- Initializes the topological construction if the glued face is present.
152 ---C++: inline
153 is static;
154
155 SketchFaceValid(me: in out)
156 --- Purpose:
157 -- Initializes the topological construction if the sketch face
158 -- is present. If the sketch face is inside the basis shape,
159 -- local operations such as glueing can be performed.
160 ---C++: inline
161 is static;
162
163 PerfSelectionValid(me: in out)
164 --- Purpose: Initializes the topological construction if the selected face is present.
165 ---C++: inline
166 is static;
167
168
169 GlobalPerform(me: in out)
170 ---Purpose: General perform method...
171
172 is static protected;
173
174
175 Curves(me: in out; S : in out SequenceOfCurve from TColGeom)
176
177 is deferred;
178
179
180 BarycCurve(me: in out)
181
182 returns Curve from Geom
183 is deferred;
184
185
186-- Protected implementation methods
187
188 UpdateDescendants(me: in out; G: Gluer from LocOpe)
189
190 is static protected;
191
192--modified by NIZNHY-PKV Thu Mar 21 18:42:53 2002 f
193 UpdateDescendants(me: in out;
194 aBOP: BooleanOperation from BRepAlgoAPI;
195 SResult : Shape from TopoDS;
196 SkipFace : Boolean from Standard = Standard_False)
197 is static protected;
198--modified by NIZNHY-PKV Thu Mar 21 18:42:50 2002 t
199
200 UpdateDescendants(me: in out;
201 aHistory : HistoryCollector from BOP;
202 SResult : Shape from TopoDS;
203 SkipFace : Boolean from Standard = Standard_False)
204 is static protected;
205
206 UpdateDescendants(me: in out;
207 B : HBuilder from TopOpeBRepBuild;
208 SResult : Shape from TopoDS;
209 SkipFace : Boolean from Standard = Standard_False)
210
211 is static protected;
212 TransformShapeFU(me: in out; flag: Integer from Standard)
213 returns Boolean from Standard
214 is protected;
215
216
217 CurrentStatusError(me)
218 returns StatusError from BRepFeat;
219
220
221fields
222
223 myFuse : Boolean from Standard is protected;
224 myModify : Boolean from Standard is protected;
225 myMap : DataMapOfShapeListOfShape from TopTools is protected;
226 myFShape : Shape from TopoDS is protected;
227 myLShape : Shape from TopoDS is protected;
228 myNewEdges: ListOfShape from TopTools is protected;
229 myTgtEdges: ListOfShape from TopTools is protected;
230
231 myPerfSelection: PerfSelection from BRepFeat is protected;
232 myJustGluer: Boolean from Standard is protected;
233 myJustFeat: Boolean from Standard is protected;
234
235 mySbase : Shape from TopoDS is protected;
236 mySkface : Face from TopoDS is protected;
237 myGShape : Shape from TopoDS is protected;
238 mySFrom : Shape from TopoDS is protected;
239 mySUntil : Shape from TopoDS is protected;
240 myGluedF : DataMapOfShapeShape from TopTools is protected;
241
242
243 mySbOK : Boolean from Standard;
244 mySkOK : Boolean from Standard;
245 myGSOK : Boolean from Standard;
246 mySFOK : Boolean from Standard;
247 mySUOK : Boolean from Standard;
248 myGFOK : Boolean from Standard;
249 myPSOK : Boolean from Standard;
250
251 myStatusError : StatusError from BRepFeat;
252
253end Form;
254
255