0023024: Update headers of OCCT files
[occt.git] / src / BRepPrimAPI / BRepPrimAPI_MakeRevol.cdl
1 -- Created on: 1993-10-12
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 -- Modified by skv - Fri Mar  4 15:50:09 2005
24 -- Add methods for supporting history.
25
26 class MakeRevol from BRepPrimAPI inherits MakeSweep from BRepPrimAPI
27
28         ---Purpose: Class to make revolved sweep topologies.
29         --          
30         --          a revolved sweep is defined by :
31         --          
32         --          * A basis topology which is swept.
33         --          
34         --            The   basis topology  must   not  contain solids
35         --            (neither composite solids.).
36         --            
37         --            The basis topology  may be copied  or  shared in
38         --            the result.
39         --            
40         --          * A rotation axis and angle :
41         --          
42         --            - The axis is an Ax1 from gp.
43         --            
44         --            - The angle is in [0, 2*Pi].
45         --            
46         --            - The angle default value is 2*Pi.
47         --          
48         --          
49         --          The result is a topology with a higher dimension :
50         --          
51         --            - Vertex -> Edge.
52         --            - Edge   -> Face.
53         --            - Wire   -> Shell.
54         --            - Face   -> Solid.
55         --            - Shell  -> CompSolid.
56         --            
57         --            Sweeping a Compound sweeps  the elements  of the
58         --            compound  and creates    a  compound with    the
59         --            results. 
60         --           
61
62 uses
63     Revol      from BRepSweep,
64     Shape      from TopoDS,
65     ListOfShape from TopTools,
66     Edge       from TopoDS,
67     Ax1        from gp
68
69 is
70
71     Create (S    : Shape   from TopoDS;
72             A    : Ax1     from gp;
73             D    : Real    from Standard;
74             Copy : Boolean from Standard = Standard_False)
75         ---Purpose: Builds the Revol of base S, axis  A and angle  D. If C
76         --          is true, S is copied.
77         ---Level: Public
78     returns MakeRevol from BRepPrimAPI;
79
80
81     Create (S    : Shape   from TopoDS;
82             A    : Ax1     from gp;
83             Copy : Boolean from Standard = Standard_False)
84         ---Purpose: Builds the Revol of base S, axis  A and angle 2*Pi. If
85         --          C is true, S is copied.
86         ---Level: Public
87     returns MakeRevol from BRepPrimAPI;
88
89
90     Revol(me) returns Revol from BRepSweep
91         ---Purpose: Returns the internal sweeping algorithm.
92         --          
93         ---C++: return const &
94         ---Level: Public
95     is static;
96
97     
98     Build(me : in out)
99     is redefined;
100         ---Purpose: Builds the resulting shape (redefined from MakeShape).
101         ---Level: Public    
102
103
104     FirstShape (me : in out)
105         ---Purpose: Returns the first shape of the revol  (coinciding with
106         --          the generating shape).
107     returns Shape from TopoDS;
108
109
110     LastShape (me : in out)
111         ---Purpose: Returns the TopoDS Shape of the end of the revol.
112     returns Shape from TopoDS;
113
114
115     Generated (me: in out; S : Shape from TopoDS)
116         ---C++: return const & 
117         ---Level: Public
118     returns ListOfShape from TopTools
119     is redefined;
120
121 -- Modified by skv - Fri Mar  4 15:50:09 2005 Begin
122 -- Add methods for supporting history. 
123
124     FirstShape (me : in out; theShape : Shape from TopoDS)
125         ---Purpose: Returns the TopoDS Shape of the beginning of the revolution,
126         --          generated with theShape  (subShape of the generating shape).
127     returns Shape from TopoDS
128     is static;
129
130
131     LastShape (me : in out; theShape : Shape from TopoDS)
132         ---Purpose: Returns the TopoDS Shape of the end of the revolution,
133         --          generated with  theShape (subShape of the  generating shape).
134     returns Shape from TopoDS
135     is static;
136  
137
138     HasDegenerated(me) 
139         ---Purpose: Check if there are degenerated edges in the result.
140         ---Level: Public
141     returns Boolean from Standard 
142     is static;
143  
144
145     Degenerated(me)
146         ---C++: return const & 
147         ---Level: Public
148     returns ListOfShape from TopTools
149     is static;
150  
151 -- Modified by skv - Fri Mar  4 15:50:09 2005 End
152
153  
154 fields
155
156     myRevol      :  Revol       from BRepSweep; 
157     myDegenerated:  ListOfShape from TopTools;   -- skv
158     
159
160 end MakeRevol;