0022488: Typo in Geom2d_BSplineCurve::LocateU() - which uses a value not adjusted...
[occt.git] / src / Geom2d / Geom2d_Geometry.cdl
1 -- File:        Geom2d_Geometry.cdl
2 -- Created:     Wed Mar 24 18:05:00 1993
3 -- Author:      JCV
4 --              <fid@sdsun2>
5 -- Copyright:    Matra Datavision 1993
6
7 ---Copyright:   Matra Datavision 1991
8
9
10 deferred class Geometry from Geom2d inherits TShared from MMgt 
11
12         --- Purpose :
13         --  The general abstract class Geometry in 2D space describes
14         --  the common behaviour of all the geometric entities.
15         --  
16         --  All the objects derived from this class can be move with a
17         --  geometric transformation. Only the transformations which 
18         --  doesn't modify the nature of the geometry are available in 
19         --  this package.
20         --  The method Transform which defines a general transformation
21         --  is deferred. The other specifics transformations used the 
22         --  method Transform.
23         --  All the following transformations modify the object itself.
24         -- Warning
25         -- Only transformations which do not modify the nature
26         -- of the geometry can be applied to Geom2d objects:
27         -- this is the case with translations, rotations,
28         -- symmetries and scales; this is also the case with
29         -- gp_Trsf2d composite transformations which are
30         -- used to define the geometric transformations applied
31         -- using the Transform or Transformed functions.
32         -- Note: Geometry defines the "prototype" of the
33         -- abstract method Transform which is defined for each
34         -- concrete type of derived object. All other
35         -- transformations are implemented using the Transform method.
36
37 uses  Ax2d   from gp,
38       Pnt2d  from gp,
39       Trsf2d from gp,
40       Vec2d  from gp
41
42 raises ConstructionError from Standard
43
44 is
45
46
47
48   Mirror (me : mutable; P : Pnt2d)
49         --- Purpose : Performs the symmetrical transformation of a Geometry
50         --  with respect to the point P which is the center of the 
51         --  symmetry and assigns the result to this geometric object.
52     is static;
53
54
55   Mirror (me : mutable; A : Ax2d)
56         --- Purpose : Performs the symmetrical transformation of a Geometry
57         --  with respect to an axis placement which is the axis of the symmetry.
58     is static;
59
60
61
62   Rotate (me : mutable; P : Pnt2d; Ang : Real)
63         --- Purpose : Rotates a Geometry. P is the center of the rotation.
64         --  Ang is the angular value of the rotation in radians.
65     is static;
66
67
68   Scale (me : mutable; P : Pnt2d; S : Real) 
69         --- Purpose : Scales a Geometry. S is the scaling value.
70     is static;
71
72
73   Translate (me : mutable; V : Vec2d)
74         --- Purpose : Translates a Geometry.  V is the vector of the tanslation.
75     is static;
76
77   Translate (me : mutable; P1, P2 : Pnt2d)
78         --- Purpose : Translates a Geometry from the point P1 to the point P2.
79      is static;
80
81   Transform (me : mutable; T : Trsf2d) 
82         --- Purpose : Transformation of a geometric object. This tansformation 
83         --  can be a translation, a rotation, a symmetry, a scaling
84         --  or a complex transformation obtained by combination of
85         --  the previous elementaries transformations.
86         --  (see class Transformation of the package Geom2d).
87      is deferred;
88
89
90
91
92         --- Purpose : The following transformations have the same properties 
93         --  as the previous ones but they don't modified the object
94         --  itself. A copy of the object is returned.
95
96
97
98   Mirrored (me; P : Pnt2d)            returns mutable like me
99   is static;
100
101   Mirrored (me; A : Ax2d)             returns mutable like me
102   is static;
103
104   Rotated (me; P : Pnt2d; Ang : Real)  returns mutable like me
105   is static;
106
107   Scaled (me; P : Pnt2d; S : Real)     returns mutable like me
108   is static;
109
110   Transformed (me; T : Trsf2d)        returns mutable like me
111   is static;
112
113   Translated (me; V : Vec2d)          returns mutable like me
114   is static;
115
116   Translated (me; P1, P2 : Pnt2d)     returns mutable like me
117   is static;
118
119   Copy (me)  returns mutable like me is deferred;
120   
121      
122 end;