Integration of OCCT 6.5.0 from SVN
[occt.git] / src / BRepFeat / BRepFeat.cdl
CommitLineData
7fd59977 1-- File: BRepFeat.cdl
2-- Created: Tue Jun 13 11:24:18 1995
3-- Author: Jacques GOUSSARD
4-- <jag@bravox>
5---Copyright: Matra Datavision 1995
6
7
8package BRepFeat
9
10 ---Purpose: BRepFeat is necessary for the
11 -- creation and manipulation of both form and mechanical features in a
12 -- Boundary Representation framework. Form features can be depressions or
13 -- protrusions and include the following types:
14 -- - Cylinder
15 -- - Draft Prism
16 -- - Prism
17 -- - Revolved feature
18 -- - Pipe
19 -- Depending on whether you wish to make a depression or a protrusion,
20 -- you can choose your operation type between the following:
21 -- - removing matter (a Boolean cut: Fuse setting 0)
22 -- - adding matter (Boolean fusion: Fuse setting 1)
23 -- The semantics of form feature creation is based on the
24 -- construction of shapes:
25 -- - for a certain length in a certain direction
26 -- - up to a limiting face
27 -- - from a limiting face at a height
28 -- - above and/or below a plane
29 -- The shape defining the construction of a feature can be either a
30 -- supporting edge or a concerned area of a face.
31 -- In case of supporting edge, this contour can be attached to a face
32 -- of the basis shape by binding. When the contour is bound to this face,
33 -- the information that the contour will slide on the face becomes
34 -- available to the relevant class methods. In case of the concerned
35 -- area of a face, you could, for example, cut it out and move it at
36 -- a different height, which will define the limiting face of a
37 -- protrusion or depression. Topological definition with local
38 -- operations of this sort makes calculations simpler and faster
39 -- than a global operation. The latter would entail a second phase of
40 -- removing unwanted matter to get the same result.
41 -- Mechanical features include ribs - protrusions - and grooves (or
42 -- slots) - depressions along planar (linear) surfaces or revolution surfaces.
43 -- The semantics of mechanical features is based on giving
44 -- thickness to a contour. This thickness can either be unilateral
45 -- - on one side of the contour - or bilateral - on both sides. As in
46 -- the semantics of form features, the thickness is defined by
47 -- construction of shapes in specific contexts.
48 -- However, in case of mechanical features, development contexts
49 -- differ. Here they include extrusion:
50 -- - to a limiting face of the basis shape
51 -- - to or from a limiting plane
52 -- - to a height.
53
54uses BRepBuilderAPI,
55 LocOpe,
56 TopoDS,
57 TopTools,
58 TopOpeBRepBuild,
59 Geom,
60 gp,
61 TColgp,
62 TColGeom,
63 StdFail,
64 BRepTopAdaptor,
65 Geom2dAdaptor,
66 TopAbs,
67 --modified by NIZNHY-PKV Thu Mar 21 18:31:59 2002 f
68 BRepAlgoAPI,
69 --modified by NIZNHY-PKV Thu Mar 21 18:32:02 2002 t
70 BOP
71
72is
73
74 enumeration StatusError is
75 ---Purpose: Discribes the error.
76 OK,
77 BadDirect,
78 BadIntersect,
79 EmptyBaryCurve,
80 EmptyCutResult,
81 FalseSide,
82 IncDirection,
83 IncSlidFace,
84 IncParameter,
85 IncTypes,
86 IntervalOverlap,
87 InvFirstShape,
88 InvOption,
89 InvShape,
90 LocOpeNotDone,
91 LocOpeInvNotDone,
92 NoExtFace,
93 NoFaceProf,
94 NoGluer,
95 NoIntersectF,
96 NoIntersectU,
97 NoParts,
98 NoProjPt,
99 NotInitialized,
100 NotYetImplemented,
101 NullRealTool,
102 NullToolF,
103 NullToolU
104
105 end StatusError;
106
107
108 deferred class Builder; -- inherits MakeShape from BRepBuilderAPI
109
110 class LocalOperation; -- inherits Builder from BRepFeat;
111
112 class MakeCylindricalHole; -- inherits Builder from BRepFeat;
113
114
115 class SplitShape; -- inherits MakeShape from BRepBuilderAPI;
116
117 deferred class Form; -- inherits MakeShape from BRepBuilderAPI;
118
119 deferred class RibSlot; -- inherits MakeShape from BRepBuilderAPI;
120
121 class MakePrism; -- inherits Form from BRepFeat
122
123 class MakeRevol; -- inherits Form from BRepFeat
124
125 class MakePipe; -- inherits Form from BRepFeat
126
127 class Gluer; -- inherits MakeShape from BRepBuilderAPI
128
129 class MakeDPrism;
130
131 class MakeLinearForm;
132
133 class MakeRevolutionForm;
134
135 enumeration Status is -- to be completed
136
137 NoError,
138 InvalidPlacement,
139 HoleTooLong
140
141 end Status;
142
143 enumeration PerfSelection is
144
145 NoSelection,
146 SelectionFU,
147 SelectionU,
148 SelectionSh,
149 SelectionShU
150 ---Purpose: To declare the type of selection semantics for local operation Perform methods
151 -- - NoSelection
152 -- - SelectionFU - selection of a face up to which a
153 -- local operation will be performed
154 -- - SelectionU - selection of a point up to which a
155 -- local operation will be performed
156 -- - SelectionSh - selection of a shape on which a
157 -- local operation will be performed
158 -- - SelectionShU - selection of a shape up to which a
159 -- local operation will be performed.
160 end PerfSelection;
161
162
163 SampleEdges(S : Shape from TopoDS;
164 Pt: in out SequenceOfPnt from TColgp);
165
166
167
168 Barycenter(S : Shape from TopoDS;
169 Pt: in out Pnt from gp);
170
171 ParametricBarycenter(S : Shape from TopoDS;
172 C : Curve from Geom)
173
174 returns Real from Standard;
175
176 ParametricMinMax(S : Shape from TopoDS;
177 C : Curve from Geom;
178 prmin : out Real from Standard;
179 prmax : out Real from Standard;
180 prbmin: out Real from Standard;
181 prbmax: out Real from Standard;
182 flag : out Boolean from Standard;
183 Ori : Boolean from Standard = Standard_False);
184 ---Purpose: Ori = True taking account the orientation
185
186 IsInside(F1 : Face from TopoDS;
187 F2 : Face from TopoDS)
188
189 returns Boolean from Standard;
190
191 IsInOut (FC : FClass2d from BRepTopAdaptor;
192 AC : Curve from Geom2dAdaptor)
193
194
195 returns Boolean from Standard;
196
197 -- TangSli(E : Edge from TopoDS;
198 -- F : Shape from TopoDS)
199
200 -- returns Boolean from Standard;
201
202
203 FaceUntil (S : Shape from TopoDS;
204 F : in out Face from TopoDS);
205
206
207 Tool (SRef : Shape from TopoDS;
208 Fac : Face from TopoDS;
209 Orf : Orientation from TopAbs)
210
211 returns Solid from TopoDS;
212
213 Print(SE : StatusError from BRepFeat; S : in out OStream) returns OStream;
214 ---Purpose: Prints the Error description of the State <St> as a String on
215 -- the Stream <S> and returns <S>.
216 --
217 ---C++: return &
218
219end BRepFeat;