1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
--
-- File : Ellipsoid.cdl
-- Created : Sat 9 Jan 1993
-- Author : CKY / Contract Toubro-Larsen ( SIVA )
--
---Copyright : MATRA-DATAVISION 1993
--
class Ellipsoid from IGESSolid inherits IGESEntity
---Purpose: defines Ellipsoid, Type <168> Form Number <0>
-- in package IGESSolid
-- The ellipsoid is a solid bounded by the surface defined
-- by:
-- X^2 Y^2 Z^2
-- ----- + ----- + ----- = 1
-- LX^2 LY^2 LZ^2
uses
Pnt from gp,
Dir from gp,
XYZ from gp
is
Create returns mutable Ellipsoid;
-- Specific Methods pertaining to the class
Init (me : mutable;
aSize : XYZ;
aCenter : XYZ;
anXAxis : XYZ;
anZAxis : XYZ);
---Purpose : This method is used to set the fields of the class
-- Ellipsoid
-- - aSize : Lengths in the local X,Y,Z directions
-- - aCenter : Center point of ellipsoid (default (0,0,0))
-- - anXAxis : Unit vector defining local X-axis
-- default (1,0,0)
-- - anZAxis : Unit vector defining local Z-axis
-- default (0,0,1)
Size (me) returns XYZ;
---Purpose : returns the size
XLength (me) returns Real;
---Purpose : returns the length in the local X-direction
YLength (me) returns Real;
---Purpose : returns the length in the local Y-direction
ZLength (me) returns Real;
---Purpose : returns the length in the local Z-direction
Center (me) returns Pnt;
---Purpose : returns the center of the ellipsoid
TransformedCenter (me) returns Pnt;
---Purpose : returns the center of the ellipsoid after applying
-- TransformationMatrix
XAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local X-direction
TransformedXAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local X-direction
-- after applying TransformationMatrix
YAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local Y-direction
-- which is got by taking cross product of ZAxis and XAxis
TransformedYAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local Y-direction
-- (which is got by taking cross product of ZAxis and XAxis)
-- after applying TransformationMatrix
ZAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local Z-direction
TransformedZAxis (me) returns Dir;
---Purpose : returns the vector corresponding to the local Z-direction
-- after applying TransformationMatrix
fields
--
-- Class : IGESSolid_Ellipsoid
--
-- Purpose : Declaration of variables specific to the definition
-- of the Class Ellipsoid.
--
-- Reminder : A Ellipsoid instance is defined by :
-- its center at (Center), the local X & Z axes (XAxis)
-- and (ZAxis) and the lengths along the local X, Y and Z
-- axes. The local Y axis is got by taking the cross product
-- of the local Z & X axes.
theSize : XYZ;
-- lengths along the local X, Y, & Z directions
theCenter : XYZ;
-- coordinates of point of center of ellipsoid
theXAxis : XYZ;
-- vector defining local X-axis
theZAxis : XYZ;
-- vector defining local Z-axis
end Ellipsoid;
|