1 -- Created on: 1997-10-14
2 -- Created by: Olga KOULECHOVA
3 -- Copyright (c) 1997-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 under
9 -- the terms of the GNU Lesser General Public License 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.
17 class MakeRevolutionForm from BRepFeat inherits RibSlot from BRepFeat
19 ---Purpose: MakeRevolutionForm Generates a surface of
20 -- revolution in the feature as it slides along a
21 -- revolved face in the basis shape.
22 -- The semantics of mechanical features is built
23 -- around giving thickness to a contour. This
24 -- thickness can either be unilateral - on one side
25 -- of the contour - or bilateral - on both sides. As
26 -- in the semantics of form features, the thickness
27 -- is defined by construction of shapes in specific contexts.
28 -- The development contexts differ, however,in
29 -- case of mechanical features. Here they include extrusion:
30 -- - to a limiting face of the basis shape
31 -- - to or from a limiting plane
34 uses Shape from TopoDS,
38 DataMapOfShapeListOfShape from TopTools,
42 DataMapOfShapeShape from TopTools,
43 ListOfShape from TopTools,
44 SequenceOfCurve from TColGeom,
48 StatusError from BRepFeat
50 raises ConstructionError from Standard
57 returns MakeRevolutionForm from BRepFeat;
58 ---Purpose: initializes the linear form class.
61 Create(Sbase : Shape from TopoDS;
63 Plane : Plane from Geom;
65 Height1 : Real from Standard;
66 Height2 : Real from Standard;
67 Fuse : Integer from Standard;
68 Sliding : in out Boolean from Standard)
70 ---Purpose: a contour W, a shape Sbase and a plane P are initialized to serve as
71 -- the basic elements in the construction of the rib or groove. The axis Axis of the
72 -- revolved surface in the basis shape defines the feature's axis of revolution.
73 -- Height1 and Height2 may be used as limits to the construction of the feature.
74 -- Fuse offers a choice between:
75 -- - removing matter with a Boolean cut using the setting 0 in case of the groove
76 -- - adding matter with Boolean fusion using the setting 1 in case of the rib.
78 returns MakeRevolutionForm from BRepFeat;
81 Init(me: in out; Sbase : Shape from TopoDS;
83 Plane : Plane from Geom;
85 Height1 : Real from Standard;
86 Height2 : Real from Standard;
87 Fuse : Integer from Standard;
88 Sliding : in out Boolean from Standard)
91 ---Purpose: Initializes this construction algorithm
92 -- A contour W, a shape Sbase and a plane P are initialized to serve as the basic elements
93 -- in the construction of the rib or groove. The axis Axis of the revolved surface in the basis
94 -- shape defines the feature's axis of revolution. Height1 and Height2 may be
95 -- used as limits to the construction of the feature.
96 -- Fuse offers a choice between:
97 -- - removing matter with a Boolean cut using the setting 0 in case of the groove
98 -- - adding matter with Boolean fusion using the setting 1 in case of the rib.
100 Add(me: in out; E: Edge from TopoDS; OnFace: Face from TopoDS)
102 ---Purpose: Indicates that the edge <E> will slide on the face
103 -- <OnFace>. Raises ConstructionError if the face does not belong to the
104 -- basis shape, or the edge to the prismed shape.
105 raises ConstructionError from Standard
114 ---Purpose: Performs a prism from the wire to the plane
115 -- along the basis shape S. Reconstructs the feature topologically.
118 Propagate(me: in out; L: in out ListOfShape from TopTools;
120 FPoint, LPoint: Pnt from gp;
121 falseside : in out Boolean from Standard)
122 returns Boolean from Standard
129 myHeight1 : Real from Standard;
130 myHeight2 : Real from Standard;
131 mySliding : Boolean from Standard;
132 myPln : Plane from Geom;
133 myBnd : Real from Standard;
134 mySlface : DataMapOfShapeListOfShape from TopTools;
135 myListOfEdges : ListOfShape from TopTools;
136 myTol : Real from Standard;
137 myAngle1 : Real from Standard;
138 myAngle2 : Real from Standard;
140 end MakeRevolutionForm;