0024157: Parallelization of assembly part of BO
[occt.git] / src / gp / gp_Cylinder.cdl
CommitLineData
b311480e 1-- Copyright (c) 1991-1999 Matra Datavision
2-- Copyright (c) 1999-2012 OPEN CASCADE SAS
3--
4-- The content of this file is subject to the Open CASCADE Technology Public
5-- License Version 6.5 (the "License"). You may not use the content of this file
6-- except in compliance with the License. Please obtain a copy of the License
7-- at http://www.opencascade.org and read it completely before using this file.
8--
9-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11--
12-- The Original Code and all software distributed under the License is
13-- distributed on an "AS IS" basis, without warranty of any kind, and the
14-- Initial Developer hereby disclaims all such warranties, including without
15-- limitation, any warranties of merchantability, fitness for a particular
16-- purpose or non-infringement. Please see the License for the specific terms
17-- and conditions governing the rights and limitations under the License.
18
7fd59977 19
20
21
22
23class Cylinder from gp inherits Storable
24
25 --- Purpose :
26 -- Describes an infinite cylindrical surface.
27 -- A cylinder is defined by its radius and positioned in space
28 -- with a coordinate system (a gp_Ax3 object), the "main
29 -- Axis" of which is the axis of the cylinder. This coordinate
30 -- system is the "local coordinate system" of the cylinder.
31 -- Note: when a gp_Cylinder cylinder is converted into a
32 -- Geom_CylindricalSurface cylinder, some implicit
33 -- properties of its local coordinate system are used explicitly:
34 -- - its origin, "X Direction", "Y Direction" and "main
35 -- Direction" are used directly to define the parametric
36 -- directions on the cylinder and the origin of the parameters,
37 -- - its implicit orientation (right-handed or left-handed)
38 -- gives an orientation (direct or indirect) to the
39 -- Geom_CylindricalSurface cylinder.
40 -- See Also
41 -- gce_MakeCylinder which provides functions for more
42 -- complex cylinder constructions
43 -- Geom_CylindricalSurface which provides additional
44 -- functions for constructing cylinders and works, in
45 -- particular, with the parametric equations of cylinders gp_Ax3
46
47uses Ax1 from gp,
48 Ax2 from gp,
49 Ax3 from gp,
50 Dir from gp,
51 Pnt from gp,
52 Trsf from gp,
53 Vec from gp
54
55raises ConstructionError from Standard
56
57is
58
59 Create returns Cylinder;
60 ---C++: inline
61 --- Purpose : Creates a indefinite cylinder.
62
63 Create (A3 : Ax3; Radius : Real) returns Cylinder
64 ---C++: inline
65 --- Purpose : Creates a cylinder of radius Radius, whose axis is the "main
66 -- Axis" of A3. A3 is the local coordinate system of the cylinder. Raises ConstructionErrord if R < 0.0
67 raises ConstructionError;
68
69 SetAxis (me : in out; A1 : Ax1)
70 ---C++: inline
71 --- Purpose : Changes the symmetry axis of the cylinder. Raises ConstructionError if the direction of A1 is parallel to the "XDirection"
72 -- of the coordinate system of the cylinder.
73 raises ConstructionError
74
75 is static;
76
77 SetLocation (me : in out; Loc : Pnt) is static;
78 ---C++:inline
79 --- Purpose : Changes the location of the surface.
80
81 SetPosition (me : in out; A3 : Ax3) is static;
82 ---C++:inline
83 --- Purpose : Change the local coordinate system of the surface.
84
85 SetRadius (me : in out; R : Real)
86 ---C++: inline
87 ---Purpose: Modifies the radius of this cylinder.
88 -- Exceptions
89 -- Standard_ConstructionError if R is negative.
90 raises ConstructionError
91 is static;
92
93 UReverse (me : in out)
94 ---C++:inline
95 ---Purpose: Reverses the U parametrization of the cylinder
96 -- reversing the YAxis.
97 is static;
98
99 VReverse (me : in out)
100 ---C++:inline
101 ---Purpose: Reverses the V parametrization of the plane
102 -- reversing the Axis.
103 is static;
104
105 Direct (me) returns Boolean from Standard
106 ---C++: inline
107 ---Purpose: Returns true if the local coordinate system of this cylinder is right-handed.
108 is static;
109
110 Axis (me) returns Ax1 is static;
111 ---C++: inline
112 --- Purpose : Returns the symmetry axis of the cylinder.
113 ---C++: return const&
114
115 Coefficients (me; A1, A2, A3, B1, B2, B3, C1, C2, C3, D : out Real)
116 is static;
117 --- Purpose :
118 -- Computes the coefficients of the implicit equation of the quadric
119 -- in the absolute cartesian coordinate system :
120 -- A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) +
121 -- 2.(C1.X + C2.Y + C3.Z) + D = 0.0
122
123 Location (me) returns Pnt is static;
124 ---C++: inline
125 --- Purpose : Returns the "Location" point of the cylinder.
126 ---C++: return const&
127
128 Position (me) returns Ax3 is static;
129 --- Purpose :
130 -- Returns the local coordinate system of the cylinder.
131 ---C++: inline
132 ---C++: return const&
133
134 Radius (me) returns Real is static;
135 ---C++: inline
136 --- Purpose : Returns the radius of the cylinder.
137
138 XAxis (me) returns Ax1 is static;
139 ---C++: inline
140 --- Purpose : Returns the axis X of the cylinder.
141
142 YAxis (me) returns Ax1 is static;
143 ---C++: inline
144 --- Purpose : Returns the axis Y of the cylinder.
145
146
147
148
149
150 Mirror (me : in out; P : Pnt) is static;
151
152 Mirrored (me; P : Pnt) returns Cylinder is static;
153
154 --- Purpose :
155 -- Performs the symmetrical transformation of a cylinder
156 -- with respect to the point P which is the center of the
157 -- symmetry.
158
159
160
161 Mirror (me : in out; A1 : Ax1) is static;
162
163 Mirrored (me; A1 : Ax1) returns Cylinder is static;
164 --- Purpose :
165 -- Performs the symmetrical transformation of a cylinder with
166 -- respect to an axis placement which is the axis of the
167 -- symmetry.
168
169
170
171
172 Mirror (me : in out; A2 : Ax2) is static;
173
174 Mirrored (me; A2 : Ax2) returns Cylinder is static;
175
176 --- Purpose :
177 -- Performs the symmetrical transformation of a cylinder with respect
178 -- to a plane. The axis placement A2 locates the plane of the
179 -- of the symmetry : (Location, XDirection, YDirection).
180
181
182
183 Rotate (me : in out; A1 : Ax1; Ang : Real) is static;
184 ---C++: inline
185 Rotated (me; A1 : Ax1; Ang : Real) returns Cylinder is static;
186 ---C++: inline
187 --- Purpose :
188 -- Rotates a cylinder. A1 is the axis of the rotation.
189 -- Ang is the angular value of the rotation in radians.
190
191
192 Scale (me : in out; P : Pnt; S : Real) is static;
193 ---C++: inline
194 Scaled (me; P : Pnt; S : Real) returns Cylinder is static;
195 ---C++: inline
196 --- Purpose :
197 -- Scales a cylinder. S is the scaling value.
198 -- The absolute value of S is used to scale the cylinder
199
200
201
202
203 Transform (me : in out; T : Trsf) is static;
204 ---C++: inline
205 Transformed (me; T : Trsf) returns Cylinder is static;
206 ---C++: inline
207 --- Purpose :
208 -- Transforms a cylinder with the transformation T from class Trsf.
209
210
211
212 Translate (me : in out; V : Vec) is static;
213 ---C++: inline
214 Translated (me; V : Vec) returns Cylinder is static;
215 ---C++: inline
216 --- Purpose :
217 -- Translates a cylinder in the direction of the vector V.
218 -- The magnitude of the translation is the vector's magnitude.
219
220
221
222
223 Translate (me : in out; P1, P2 : Pnt) is static;
224 ---C++: inline
225 Translated (me; P1, P2 : Pnt) returns Cylinder is static;
226 ---C++: inline
227 --- Purpose :
228 -- Translates a cylinder from the point P1 to the point P2.
229
230
231
232fields
233
234 pos : Ax3;
235 radius : Real;
236
237end;