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 | |
9 | deferred 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 | |
39 | uses 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 |
55 | is |
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 | |
221 | fields |
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 | |
253 | end Form; |
254 | |
255 | |