0023024: Update headers of OCCT files
[occt.git] / src / BRepPrimAPI / BRepPrimAPI_MakeCylinder.cdl
1 -- Created on: 1993-07-21
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 class MakeCylinder from BRepPrimAPI  inherits MakeOneAxis from BRepPrimAPI
24
25         ---Purpose: Describes functions to build cylinders or portions of  cylinders.
26         -- A MakeCylinder object provides a framework for:
27         -- -   defining the construction of a cylinder,
28         -- -   implementing the construction algorithm, and
29         -- -   consulting the result.
30
31 uses
32     Ax2      from gp,
33     Cylinder from BRepPrim,
34     OneAxis  from BRepPrim
35
36 raises
37     DomainError from Standard
38     
39 is
40
41     Create(R, H : Real)
42     returns MakeCylinder from BRepPrimAPI
43         ---Purpose: Make a cylinder of radius R and length H.
44         ---Level: Public
45     raises
46         DomainError from Standard; -- if R or H <= Precision::Confusion()
47
48     Create(R, H, Angle : Real)
49     returns MakeCylinder from BRepPrimAPI
50         ---Purpose: Make a cylinder   of  radius R  and  length H with
51         --          angle  H.
52         ---Level: Public
53     raises
54         DomainError from Standard; -- if R or H <= Precision::Confusion()
55
56     Create(Axes : Ax2 from gp; R, H : Real)
57     returns MakeCylinder from BRepPrimAPI
58         ---Purpose: Make a cylinder of radius R and length H.
59         ---Level: Public
60     raises
61         DomainError from Standard; -- if R or H <= Precision::Confusion()
62
63     Create(Axes : Ax2 from gp; R, H, Angle : Real)
64     returns MakeCylinder from BRepPrimAPI
65         ---Purpose: Make a cylinder   of  radius R  and  length H with
66         --          angle  H.
67         ---Level: Public
68     raises
69         DomainError from Standard; -- if R or H <= Precision::Confusion()
70
71         ---Purpose: Constructs
72         -- -   a cylinder of radius R and height H, or
73         -- -   a portion of cylinder of radius R and height H, and of
74         --   the angle Angle defining the missing portion of the cylinder.    
75         -- The cylinder is constructed about the "Z Axis" of either:
76         -- -   the global coordinate system, or
77         -- -   the local coordinate system Axes.
78         -- It is limited in this coordinate system as follows:
79         -- -   in the v parametric direction (the Z axis), by the two
80         --   parameter values 0 and H,
81         -- -   and in the u parametric direction (the rotation angle
82         --   around the Z Axis), in the case of a portion of a
83         --   cylinder, by the two parameter values 0 and Angle.
84         --   Angle is given in radians.
85         -- The resulting shape is composed of:
86         -- -   a lateral cylindrical face,
87         -- -   two planar faces in the planes z = 0 and z = H
88         --   (in the case of a complete cylinder, these faces are circles), and
89         -- -   in case of a portion of a cylinder, two additional
90         --   planar faces to close the shape.(two rectangles in the
91         --   planes u = 0 and u = Angle).
92         -- Exceptions Standard_DomainError if:
93         -- -   R is less than or equal to Precision::Confusion(), or
94         -- -   H is less than or equal to Precision::Confusion().
95         
96     OneAxis(me : in out) returns Address;
97         ---Purpose: Returns the algorithm.
98         ---Level: Advanced
99
100     Cylinder(me : in out) returns Cylinder from BRepPrim
101         ---Purpose: Returns the algorithm.
102         --          
103         ---C++: return &
104         ---Level: Public 
105     is static;
106
107 fields
108
109     myCylinder : Cylinder from BRepPrim;
110
111 end MakeCylinder;