CommitLineData
b311480e 1-- Created on: 1993-07-21
2-- Created by: Remi LEQUETTE
3-- Copyright (c) 1993-1999 Matra Datavision
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
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--
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
7fd59977 21
22
23class MakeCone from BRepPrimAPI inherits MakeOneAxis from BRepPrimAPI
24
25 ---Purpose: Describes functions to build cones or portions of cones.
26 -- A MakeCone object provides a framework for:
27 -- - defining the construction of a cone,
28 -- - implementing the construction algorithm, and
29 -- - consulting the result.
30
31uses
32 Ax2 from gp,
33 Cone from BRepPrim,
34 OneAxis from BRepPrim
35
36raises
37 DomainError from Standard
38
39is
40 Create(R1, R2, H : Real)
41 returns MakeCone from BRepPrimAPI
42 ---Purpose: Make a cone of height H radius R1 in the plane z =
43 -- 0, R2 in the plane Z = H. R1 and R2 may be null.
44 ---Level: Public
45 raises
46 DomainError from Standard; -- if H <= Precision::Confusion()
47
48 Create(R1, R2, H, angle : Real)
49 returns MakeCone from BRepPrimAPI
50 ---Purpose: Make a cone of height H radius R1 in the plane z =
51 -- 0, R2 in the plane Z = H. R1 and R2 may be null.
52 -- Take a section of <angle>
53 ---Level: Public
54 raises
55 DomainError from Standard; -- if H <= Precision::Confusion()
56
57 Create(Axes : Ax2 from gp; R1, R2, H : Real)
58 returns MakeCone from BRepPrimAPI
59 ---Purpose: Make a cone of height H radius R1 in the plane z =
60 -- 0, R2 in the plane Z = H. R1 and R2 may be null.
61 ---Level: Public
62 raises
63 DomainError from Standard; -- if H <= Precision::Confusion()
64
65 Create(Axes : Ax2 from gp; R1, R2, H, angle : Real)
66 returns MakeCone from BRepPrimAPI
67 ---Purpose: Make a cone of height H radius R1 in the plane z =
68 -- 0, R2 in the plane Z = H. R1 and R2 may be null.
69 -- Take a section of <angle>
70 ---Level: Public
71 raises
72 DomainError from Standard; -- if H <= Precision::Confusion()
73
74 ---Purpose: Constructs a cone, or a portion of a cone, of height H,
75 -- and radius R1 in the plane z = 0 and R2 in the plane
76 -- z = H. The result is a sharp cone if R1 or R2 is equal to 0.
77 -- The cone is constructed about the "Z Axis" of either:
78 -- - the global coordinate system, or
79 -- - the local coordinate system Axes.
80 -- It is limited in these coordinate systems as follows:
81 -- - in the v parametric direction (the Z coordinate), by
82 -- the two parameter values 0 and H,
83 -- - and in the u parametric direction (defined by the
84 -- angle of rotation around the Z axis), in the case of a
85 -- portion of a cone, by the two parameter values 0 and
86 -- angle. Angle is given in radians.
87 -- The resulting shape is composed of:
88 -- - a lateral conical face
89 -- - two planar faces in the planes z = 0 and z = H,
90 -- or only one planar face in one of these two planes if a
91 -- radius value is null (in the case of a complete cone,
92 -- these faces are circles), and
93 -- - and in the case of a portion of a cone, two planar
94 -- faces to close the shape. (either two parallelograms or
95 -- two triangles, in the planes u = 0 and u = angle).
96 -- Exceptions
97 -- Standard_DomainError if:
98 -- - H is less than or equal to Precision::Confusion(), or
99 -- - the half-angle at the apex of the cone, defined by
100 -- R1, R2 and H, is less than Precision::Confusion()/H, or greater than
101 -- (Pi/2)-Precision::Confusion()/H.f
102
103 OneAxis(me : in out) returns Address;
104 ---Purpose: Returns the algorithm.
105 ---Level: Public
106
107 Cone(me : in out) returns Cone from BRepPrim
108 ---Purpose: Returns the algorithm.
109 --
110 ---C++: return &
111 ---Level: Public
112 is static;
113
114fields
115
116 myCone : Cone from BRepPrim;
117
118end MakeCone;