1 -- Created on: 1995-06-13
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public 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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
19 ---Purpose: BRepFeat is necessary for the
20 -- creation and manipulation of both form and mechanical features in a
21 -- Boundary Representation framework. Form features can be depressions or
22 -- protrusions and include the following types:
28 -- Depending on whether you wish to make a depression or a protrusion,
29 -- you can choose your operation type between the following:
30 -- - removing matter (a Boolean cut: Fuse setting 0)
31 -- - adding matter (Boolean fusion: Fuse setting 1)
32 -- The semantics of form feature creation is based on the
33 -- construction of shapes:
34 -- - for a certain length in a certain direction
35 -- - up to a limiting face
36 -- - from a limiting face at a height
37 -- - above and/or below a plane
38 -- The shape defining the construction of a feature can be either a
39 -- supporting edge or a concerned area of a face.
40 -- In case of supporting edge, this contour can be attached to a face
41 -- of the basis shape by binding. When the contour is bound to this face,
42 -- the information that the contour will slide on the face becomes
43 -- available to the relevant class methods. In case of the concerned
44 -- area of a face, you could, for example, cut it out and move it at
45 -- a different height, which will define the limiting face of a
46 -- protrusion or depression. Topological definition with local
47 -- operations of this sort makes calculations simpler and faster
48 -- than a global operation. The latter would entail a second phase of
49 -- removing unwanted matter to get the same result.
50 -- Mechanical features include ribs - protrusions - and grooves (or
51 -- slots) - depressions along planar (linear) surfaces or revolution surfaces.
52 -- The semantics of mechanical features is based on giving
53 -- thickness to a contour. This thickness can either be unilateral
54 -- - on one side of the contour - or bilateral - on both sides. As in
55 -- the semantics of form features, the thickness is defined by
56 -- construction of shapes in specific contexts.
57 -- However, in case of mechanical features, development contexts
58 -- differ. Here they include extrusion:
59 -- - to a limiting face of the basis shape
60 -- - to or from a limiting plane
76 --modified by NIZNHY-PKV Thu Mar 21 18:31:59 2002 f
83 --modified by NIZNHY-PKV Thu Mar 21 18:32:02 2002 t
88 enumeration StatusError is
89 ---Purpose: Discribes the error.
122 class Builder; -- inherits BOP from BOPAlgo
124 class MakeCylindricalHole; -- inherits Builder from BRepFeat;
126 class SplitShape; -- inherits MakeShape from BRepBuilderAPI;
128 deferred class Form; -- inherits MakeShape from BRepBuilderAPI;
130 deferred class RibSlot; -- inherits MakeShape from BRepBuilderAPI;
132 class MakePrism; -- inherits Form from BRepFeat
134 class MakeRevol; -- inherits Form from BRepFeat
136 class MakePipe; -- inherits Form from BRepFeat
138 class Gluer; -- inherits MakeShape from BRepBuilderAPI
142 class MakeLinearForm;
144 class MakeRevolutionForm;
146 enumeration Status is -- to be completed
154 enumeration PerfSelection is
161 ---Purpose: To declare the type of selection semantics for local operation Perform methods
163 -- - SelectionFU - selection of a face up to which a
164 -- local operation will be performed
165 -- - SelectionU - selection of a point up to which a
166 -- local operation will be performed
167 -- - SelectionSh - selection of a shape on which a
168 -- local operation will be performed
169 -- - SelectionShU - selection of a shape up to which a
170 -- local operation will be performed.
174 SampleEdges(S : Shape from TopoDS;
175 Pt: in out SequenceOfPnt from TColgp);
179 Barycenter(S : Shape from TopoDS;
180 Pt: in out Pnt from gp);
182 ParametricBarycenter(S : Shape from TopoDS;
185 returns Real from Standard;
187 ParametricMinMax(S : Shape from TopoDS;
189 prmin : out Real from Standard;
190 prmax : out Real from Standard;
191 prbmin: out Real from Standard;
192 prbmax: out Real from Standard;
193 flag : out Boolean from Standard;
194 Ori : Boolean from Standard = Standard_False);
195 ---Purpose: Ori = True taking account the orientation
197 IsInside(F1 : Face from TopoDS;
198 F2 : Face from TopoDS)
200 returns Boolean from Standard;
202 IsInOut (FC : FClass2d from BRepTopAdaptor;
203 AC : Curve from Geom2dAdaptor)
206 returns Boolean from Standard;
208 -- TangSli(E : Edge from TopoDS;
209 -- F : Shape from TopoDS)
211 -- returns Boolean from Standard;
214 FaceUntil (S : Shape from TopoDS;
215 F : in out Face from TopoDS);
218 Tool (SRef : Shape from TopoDS;
219 Fac : Face from TopoDS;
220 Orf : Orientation from TopAbs)
222 returns Solid from TopoDS;
224 Print(SE : StatusError from BRepFeat; S : in out OStream) returns OStream;
225 ---Purpose: Prints the Error description of the State <St> as a String on
226 -- the Stream <S> and returns <S>.