0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepFeat / BRepFeat_MakeRevol.cdl
1 -- Created on: 1996-02-13
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class MakeRevol from BRepFeat inherits Form from BRepFeat
18
19         ---Purpose: Describes functions to build revolved shells from basis shapes.
20
21 uses Shape                     from TopoDS,
22      Face                      from TopoDS,
23      Edge                      from TopoDS,
24      DataMapOfShapeListOfShape from TopTools,
25      Ax1                       from gp,
26      DataMapOfShapeShape       from TopTools,
27      SequenceOfCurve           from TColGeom,
28      Curve                     from Geom,
29      SequenceOfCurve           from TColGeom,
30      StatusError               from BRepFeat
31      
32     raises ConstructionError from Standard
33
34 is
35
36
37     Create
38
39         returns MakeRevol from BRepFeat;
40         ---Purpose: initializes the revolved shell class.
41         ---C++: inline
42
43
44     Create(Sbase     : Shape   from TopoDS;
45            Pbase     : Shape   from TopoDS;
46            Skface    : Face    from TopoDS;
47            Axis      : Ax1     from gp;
48            Fuse      : Integer from Standard;
49            Modify    : Boolean from Standard)
50     
51         ---Purpose: a face Pbase is selected in the
52         --   shape Sbase to serve as the basis for the
53         --   revolved shell. The revolution will be defined
54         --   by the axis Axis and Fuse offers a choice between:
55         --   -   removing matter with a Boolean cut using the setting 0
56         --   -   adding matter with Boolean fusion using the setting 1.
57         --     The sketch face Skface serves to determine
58         -- the type of operation. If it is inside the basis
59         -- shape, a local operation such as glueing can be performed.
60         ---C++: inline
61                 returns MakeRevol from BRepFeat;
62
63
64     Init(me: in out; Sbase     : Shape   from TopoDS;
65                      Pbase     : Shape   from TopoDS;
66                      Skface    : Face    from TopoDS;
67                      Axis      : Ax1     from gp;
68                      Fuse      : Integer from Standard;
69                      Modify    : Boolean from Standard)
70     
71         is static;
72
73
74     Add(me: in out; E: Edge from TopoDS; OnFace: Face from TopoDS)
75
76         ---Purpose: Indicates that the edge <E> will slide on the face
77         -- <OnFace>. Raises ConstructionError if the  face does not belong to the
78         -- basis shape, or the edge to the prismed shape.
79         raises ConstructionError from Standard
80         
81         is static;
82
83
84     Perform(me: in out; Angle: Real from Standard)
85     
86         is static;
87
88
89     Perform(me: in out; Until: Shape from TopoDS)
90     
91         is static;
92
93
94     Perform(me: in out; From : Shape from TopoDS;
95                         Until: Shape from TopoDS)
96     
97         is static;
98         ---Purpose: Reconstructs the feature topologically.
99
100     PerformThruAll(me: in out)
101     
102         is static;
103         ---Purpose: Builds an infinite shell. The infinite descendants
104         -- will not be kept in the result.
105
106     PerformUntilAngle(me: in out; Until :  Shape from TopoDS;
107                         Angle :  Real  from Standard)
108     
109         is static;
110         ---Purpose: Assigns both a limiting shape, Until from
111         -- TopoDS_Shape, and an angle, Angle at
112         -- which to stop generation of the revolved shell feature.
113     Curves(me: in out; S : in out SequenceOfCurve from TColGeom);
114     
115
116     BarycCurve(me: in out)    
117         returns Curve from Geom;
118
119
120 fields
121
122     myPbase  : Shape                     from TopoDS;
123     mySlface : DataMapOfShapeListOfShape from TopTools;
124     myAxis   : Ax1                       from gp;
125     myCurves : SequenceOfCurve           from TColGeom;
126     myBCurve : Curve                     from Geom;
127     myStatusError : StatusError          from BRepFeat;
128
129 end MakeRevol;