0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepPrimAPI / BRepPrimAPI_MakeRevolution.cdl
1 -- Created on: 1993-07-22
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-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 MakeRevolution from BRepPrimAPI inherits MakeOneAxis from BRepPrimAPI
18
19         ---Purpose: Describes functions to build revolved shapes.
20         -- A MakeRevolution object provides a framework for:
21         -- -   defining the construction of a revolved shape,
22         -- -   implementing the construction algorithm, and
23         -- -   consulting the result.
24
25 uses
26     Ax2        from gp,
27     Curve      from Geom,
28     OneAxis    from BRepPrim,
29     Revolution from BRepPrim
30
31 raises
32     DomainError from Standard
33
34 is
35     Create(Meridian  : Curve from Geom)
36     returns MakeRevolution from BRepPrimAPI
37         ---Purpose: Make a revolution body by rotating a curve around Z.
38         ---Level: Public
39     raises
40         DomainError from Standard; -- if M is not in a plane containing Z.
41
42     Create(Meridian  : Curve from Geom; angle : Real)
43     returns MakeRevolution from BRepPrimAPI
44         ---Purpose: Make a revolution body by rotating a curve around Z.
45         ---Level: Public
46     raises
47         DomainError from Standard; -- if M is not in a plane containing Z.
48
49     Create(Meridian  : Curve from Geom; VMin, VMax : Real)
50     returns MakeRevolution from BRepPrimAPI
51         ---Purpose: Make a revolution body by rotating a curve around Z.
52         ---Level: Public
53     raises
54         DomainError from Standard; -- if M is not in a plane containing Z.
55
56     Create(Meridian  : Curve from Geom; VMin, VMax, angle : Real)
57     returns MakeRevolution from BRepPrimAPI
58         ---Purpose: Make a revolution body by rotating a curve around Z.
59         ---Level: Public
60     raises
61         DomainError from Standard; -- if M is not in a plane containing Z.
62
63     Create(Axes : Ax2 from gp; Meridian  : Curve from Geom)
64     returns MakeRevolution from BRepPrimAPI
65         ---Purpose: Make a revolution body by rotating a curve around Z.
66         ---Level: Public
67     raises
68         DomainError from Standard; -- if M is not in a plane containing Z.
69
70     Create(Axes : Ax2 from gp; Meridian  : Curve from Geom; angle : Real)
71     returns MakeRevolution from BRepPrimAPI
72         ---Purpose: Make a revolution body by rotating a curve around Z.
73         ---Level: Public
74     raises
75         DomainError from Standard; -- if M is not in a plane containing Z.
76
77     Create(Axes : Ax2 from gp; Meridian  : Curve from Geom; VMin, VMax : Real)
78     returns MakeRevolution from BRepPrimAPI
79         ---Purpose: Make a revolution body by rotating a curve around Z.
80         ---Level: Public
81     raises
82         DomainError from Standard; -- if M is not in a plane containing Z.
83
84     Create(Axes : Ax2 from gp; Meridian  : Curve from Geom; VMin, VMax, angle : Real)
85     returns MakeRevolution from BRepPrimAPI
86         ---Purpose: Make a revolution body by rotating a curve around Z.
87         ---Level: Public
88     raises
89         DomainError from Standard; -- if M is not in a plane containing Z.
90         ---Purpose: For all algorithms the resulting shape is composed of
91         -- -   a lateral revolved face,
92         -- -   two planar faces in planes parallel to the plane z =
93         --   0, and passing by the extremities of the revolved
94         --   portion of Meridian, if these points are not on the Z
95         --   axis (in case of a complete revolved shape, these faces are circles),
96         -- -   and in the case of a portion of a revolved shape, two
97         --   planar faces to close the shape (in the planes u = 0 and u = angle).
98
99     OneAxis(me : in out) returns Address;
100         ---Purpose: Returns the algorithm.
101         ---Level: Advanced
102
103     Revolution(me : in out) returns Revolution from BRepPrim
104         ---Purpose: Returns the algorithm.
105         --          
106         ---C++: return &
107         ---Level: Public
108     is static;
109
110 fields 
111
112     myRevolution : Revolution from BRepPrim;
113
114 end MakeRevolution;