Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Geom / Geom_Geometry.cdl
CommitLineData
7fd59977 1-- File: Geom_Geometry.cdl
2-- Created: Tue Mar 9 19:17:40 1993
3-- Author: JVC
4-- <fid@phylox>
5-- Copyright: Matra Datavision 1993
6
7
8deferred class Geometry from Geom inherits TShared from MMgt
9
10 ---Purpose : The abstract class Geometry for 3D space is the root
11 -- class of all geometric objects from the Geom
12 -- package. It describes the common behavior of these objects when:
13 -- - applying geometric transformations to objects, and
14 -- - constructing objects by geometric transformation (including copying).
15 -- Warning
16 -- Only transformations which do not modify the nature
17 -- of the geometry can be applied to Geom objects: this
18 -- is the case with translations, rotations, symmetries
19 -- and scales; this is also the case with gp_Trsf
20 -- composite transformations which are used to define
21 -- the geometric transformations applied using the
22 -- Transform or Transformed functions.
23 -- Note: Geometry defines the "prototype" of the
24 -- abstract method Transform which is defined for each
25 -- concrete type of derived object. All other
26 -- transformations are implemented using the Transform method.
27
28
29uses Ax1 from gp,
30 Ax2 from gp,
31 Pnt from gp,
32 Trsf from gp,
33 Vec from gp
34
35raises ConstructionError from Standard
36
37is
38
39 ---Group:
40 -- All the following transformations modify the object itself.
41
42
43 Mirror (me : mutable; P : Pnt)
44 ---Purpose :
45 -- Performs the symmetrical transformation of a Geometry
46 -- with respect to the point P which is the center of the
47 -- symmetry.
48 is static;
49
50 Mirror (me : mutable; A1 : Ax1)
51 ---Purpose :
52 -- Performs the symmetrical transformation of a Geometry
53 -- with respect to an axis placement which is the axis of the
54 -- symmetry.
55 is static;
56
57
58 Mirror (me : mutable; A2 : Ax2)
59 ---Purpose :
60 -- Performs the symmetrical transformation of a Geometry
61 -- with respect to a plane. The axis placement A2 locates
62 -- the plane of the symmetry : (Location, XDirection, YDirection).
63 is static;
64
65
66
67 Rotate (me : mutable; A1 : Ax1; Ang : Real)
68 ---Purpose :
69 -- Rotates a Geometry. A1 is the axis of the rotation.
70 -- Ang is the angular value of the rotation in radians.
71 is static;
72
73
74
75 Scale (me : mutable; P : Pnt; S : Real)
76 ---Purpose :
77 -- Scales a Geometry. S is the scaling value.
78 is static;
79
80 Translate (me : mutable; V : Vec)
81 ---Purpose :
82 -- Translates a Geometry. V is the vector of the tanslation.
83 is static;
84
85
86 Translate (me : mutable; P1, P2 : Pnt)
87 ---Purpose :
88 -- Translates a Geometry from the point P1 to the point P2.
89 is static;
90
91 Transform (me : mutable; T : Trsf)
92 ---Purpose :
93 -- Transformation of a geometric object. This tansformation
94 -- can be a translation, a rotation, a symmetry, a scaling
95 -- or a complex transformation obtained by combination of
96 -- the previous elementaries transformations.
97 -- (see class Transformation of the package Geom).
98 is deferred;
99
100
101
102
103 ---Group:
104 -- The following transformations have the same properties
105 -- as the previous ones but they don't modified the object
106 -- itself. A copy of the object is returned.
107
108
109 Mirrored (me; P : Pnt) returns mutable like me
110 is static;
111
112
113 Mirrored (me; A1 : Ax1) returns mutable like me
114 is static;
115
116
117 Mirrored (me; A2 : Ax2) returns mutable like me
118 is static;
119
120
121 Rotated (me; A1 : Ax1; Ang : Real) returns mutable like me
122 is static;
123
124
125 Scaled (me; P : Pnt; S : Real) returns mutable like me
126 is static;
127
128
129 Transformed (me; T : Trsf) returns mutable like me
130 is static;
131
132
133 Translated (me; V : Vec) returns mutable like me
134 is static;
135
136
137 Translated (me; P1, P2 : Pnt) returns mutable like me
138 is static;
139
140 Copy (me) returns mutable like me is deferred;
141 ---Purpose: Creates a new object which is a copy of this geometric object.
142
143
144end;