7fd59977 |
1 | -- File: Geom2d_AxisPlacement.cdl |
2 | -- Created: Wed Mar 24 17:33:01 1993 |
3 | -- Author: JCV |
4 | -- <fid@sdsun2> |
5 | -- Copyright: Matra Datavision 1993 |
6 | |
7 | ---Copyright: Matra Datavision 1991 |
8 | |
9 | |
10 | |
11 | class AxisPlacement from Geom2d inherits Geometry from Geom2d |
12 | |
13 | |
14 | --- Purpose : Describes an axis in 2D space. |
15 | -- An axis is defined by: |
16 | -- - its origin, also termed the "Location point" of the axis, |
17 | -- - its unit vector, termed the "Direction" of the axis. |
18 | -- Note: Geom2d_AxisPlacement axes provide the |
19 | -- same kind of "geometric" services as gp_Ax2d axes |
20 | -- but have more complex data structures. The |
21 | -- geometric objects provided by the Geom2d package |
22 | -- use gp_Ax2d objects to include axes in their data |
23 | -- structures, or to define an axis of symmetry or axis of rotation. |
24 | -- Geom2d_AxisPlacement axes are used in a context |
25 | -- where they can be shared by several objects |
26 | -- contained inside a common data structure. |
27 | |
28 | uses Ax2d from gp, |
29 | Dir2d from gp, |
30 | Pnt2d from gp, |
31 | Trsf2d from gp, |
32 | Vec2d from gp |
33 | |
34 | |
35 | is |
36 | |
37 | Create (A : Ax2d) returns mutable AxisPlacement; |
38 | --- Purpose : Constructs an axis by conversion of the gp_Ax2d axis A. |
39 | |
40 | |
41 | Create (P : Pnt2d; V : Dir2d) returns mutable AxisPlacement; |
42 | --- Purpose : Constructs an axis from a given origin P and unit vector V. |
43 | |
44 | |
45 | Reverse (me : mutable); |
46 | |
47 | Reversed (me) returns mutable AxisPlacement is static; |
48 | ---Purpose: Reverses the unit vector of this axis. |
49 | -- Note: |
50 | -- - Reverse assigns the result to this axis, while |
51 | -- - Reversed creates a new one. |
52 | |
53 | SetAxis (me : mutable; A : Ax2d); |
54 | --- Purpose : Changes the complete definition of the axis placement. |
55 | |
56 | |
57 | SetDirection (me : mutable; V : Dir2d); |
58 | --- Purpose : |
59 | -- Changes the "Direction" of the axis placement. |
60 | |
61 | |
62 | |
63 | SetLocation (me : mutable; P : Pnt2d); |
64 | --- Purpose : |
65 | -- Changes the "Location" point (origin) of the axis placement. |
66 | |
67 | |
68 | Angle (me; Other : AxisPlacement) returns Real; |
69 | --- Purpose : |
70 | -- Computes the angle between the "Direction" of |
71 | -- two axis placement in radians. |
72 | -- The result is comprised between -Pi and Pi. |
73 | |
74 | Ax2d (me) returns Ax2d; |
75 | --- Purpose : Converts this axis into a gp_Ax2d axis. |
76 | |
77 | |
78 | Direction (me) returns Dir2d; |
79 | --- Purpose : Returns the "Direction" of <me>. |
80 | -- -C++: return const& |
81 | |
82 | |
83 | Location (me) returns Pnt2d; |
84 | --- Purpose : |
85 | -- Returns the "Location" point (origin) of the axis placement. |
86 | -- -C++: return const& |
87 | |
88 | |
89 | |
90 | |
91 | Transform (me : mutable; T : Trsf2d); |
92 | |
93 | ---Purpose: Applies the transformation T to this axis. |
94 | |
95 | |
96 | Copy (me) returns mutable like me; |
97 | |
98 | ---Purpose: Creates a new object which is a copy of this axis. |
99 | fields |
100 | |
101 | axis : Ax2d; |
102 | |
103 | end; |