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
|
--
-- File : Block.cdl
-- Created : Sat 9 Jan 1993
-- Author : CKY / Contract Toubro-Larsen ( SIVA )
--
---Copyright : MATRA-DATAVISION 1993
--
class Block from IGESSolid inherits IGESEntity
---Purpose: defines Block, Type <150> Form Number <0>
-- in package IGESSolid
-- The Block is a rectangular parallelopiped, defined with
-- one vertex at (X1, Y1, Z1) and three edges lying along
-- the local +X, +Y, +Z axes.
uses
Dir from gp,
Pnt from gp,
XYZ from gp
is
Create returns mutable Block;
-- Specific Methods pertaining to the class
Init (me : mutable;
aSize, aCorner, aXAxis, aZAxis : XYZ);
---Purpose : This method is used to set the fields of the class Block
-- - aSize : Length in each local directions
-- - aCorner : Corner point coordinates. Default (0,0,0)
-- - aXAxis : Unit vector defining local X-axis
-- default (1,0,0)
-- - aZAxis : Unit vector defining local Z-axis
-- default (0,0,1)
Size (me) returns XYZ;
---Purpose : returns the size of the block
XLength (me) returns Real;
---Purpose : returns the length of the Block along the local X-direction
YLength (me) returns Real;
---Purpose : returns the length of the Block along the local Y-direction
ZLength (me) returns Real;
---Purpose : returns the length of the Block along the local Z-direction
Corner (me) returns Pnt;
---Purpose : returns the corner point coordinates of the Block
TransformedCorner (me) returns Pnt;
---Purpose : returns the corner point coordinates of the Block after applying
-- the TransformationMatrix
XAxis (me) returns Dir;
---Purpose : returns the direction defining the local X-axis
TransformedXAxis (me) returns Dir;
---Purpose : returns the direction defining the local X-axis after applying
-- TransformationMatrix
YAxis (me) returns Dir;
---Purpose : returns the direction defining the local Y-axis
-- it is the cross product of ZAxis and XAxis
TransformedYAxis (me) returns Dir;
---Purpose : returns the direction defining the local Y-axis after applying
-- TransformationMatrix
ZAxis (me) returns Dir;
---Purpose : returns the direction defining the local X-axis
TransformedZAxis (me) returns Dir;
---Purpose : returns the direction defining the local Z-axis after applying
-- TransformationMatrix
fields
--
-- Class : IGESSolid_Block
--
-- Purpose : Declaration of variables specific to the definition
-- of the Class Block.
--
-- Reminder : A Block instance is defined by :
-- - a vertex at (X1,Y1,Z1) and three edges lying along the local
-- - +X, +Y, and +Z axes. The local X and Z axis are defined by
-- - the unit vectors (I1,J1,K1) and (I2,J2,K2) respectively. The
-- - local Y-axis is derived by taking the cross product of Z into
-- - X. The block is specified by the positive lengths (LX,LY,LZ)
-- - along these axes.
theSize : XYZ;
-- length in the local axes
theCorner : XYZ;
-- corner point coordinates
theXAxis : XYZ;
-- unit vector defining local X-axis
theZAxis : XYZ;
-- unit vector defining local Z-axis
end Block;
|