Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / GEOM_I / GEOM_ITransformOperations_i.hh
1
2 #ifndef _GEOM_ITransformOperations_i_HeaderFile
3 #define _GEOM_ITransformOperations_i_HeaderFile
4
5
6 #include <SALOMEconfig.h>
7
8 #include CORBA_SERVER_HEADER(GEOM_Gen)
9 #include "GEOM_IOperations_i.hh"
10 #include "GEOM_Object_i.hh"
11
12 #include "GEOMImpl_ITransformOperations.hxx"
13
14 class GEOM_ITransformOperations_i :
15     public virtual POA_GEOM::GEOM_ITransformOperations,
16     public virtual GEOM_IOperations_i
17 {
18  public:
19   GEOM_ITransformOperations_i (PortableServer::POA_ptr thePOA,
20                                GEOM::GEOM_Gen_ptr theEngine,
21                                ::GEOMImpl_ITransformOperations* theImpl);
22   ~GEOM_ITransformOperations_i();
23
24   GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
25                                             GEOM::GEOM_Object_ptr thePoint1,
26                                             GEOM::GEOM_Object_ptr thePoint2);
27
28   GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
29                                                 GEOM::GEOM_Object_ptr thePoint1,
30                                                 GEOM::GEOM_Object_ptr thePoint2);
31
32   GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject, CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ);
33
34
35   GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,  CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ);
36
37   GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
38                                          GEOM::GEOM_Object_ptr theVector);
39
40   GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
41                                              GEOM::GEOM_Object_ptr theVector);
42
43   GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theVector, CORBA::Double theStep, CORBA::Long theNbTimes);
44
45   GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theVector1, CORBA::Double theStep1, CORBA::Long theNbTimes1,
46                                                        GEOM::GEOM_Object_ptr theVector2, CORBA::Double theStep2, CORBA::Long theNbTimes2);
47
48   GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
49                                 GEOM::GEOM_Object_ptr theAxis,
50                                 CORBA::Double theAngle);
51
52   GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
53                                        GEOM::GEOM_Object_ptr theVector,
54                                        CORBA::Long theNbTimes);
55
56  
57   GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
58                                        GEOM::GEOM_Object_ptr theVector, 
59                                        CORBA::Double theAngle, 
60                                        CORBA::Long theNbTimes1, 
61                                        CORBA::Double theStep, 
62                                        CORBA::Long theNbTimes2);
63                                            
64   GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
65                                     GEOM::GEOM_Object_ptr theAxis,
66                                     CORBA::Double theAngle);  
67
68   GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
69                                      GEOM::GEOM_Object_ptr thePlane);
70
71   GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
72                                          GEOM::GEOM_Object_ptr thePlane);
73
74   GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
75                                     GEOM::GEOM_Object_ptr theAxis);
76
77   GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
78                                         GEOM::GEOM_Object_ptr theAxis);
79
80   GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
81                                      GEOM::GEOM_Object_ptr thePoint);
82
83   GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
84                                          GEOM::GEOM_Object_ptr thePoint);
85
86   GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
87                                      CORBA::Double theOffset);
88
89   GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
90                                          CORBA::Double theOffset);
91
92   GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
93                                     GEOM::GEOM_Object_ptr thePoint,
94                                     CORBA::Double theFactor);
95
96   GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
97                                         GEOM::GEOM_Object_ptr thePoint,
98                                         CORBA::Double theFactor);
99
100   GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
101                                        GEOM::GEOM_Object_ptr theStartLCS,
102                                        GEOM::GEOM_Object_ptr theEndLCS);
103
104   GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
105                                            GEOM::GEOM_Object_ptr theStartLCS,
106                                            GEOM::GEOM_Object_ptr theEndLCS);
107
108   ::GEOMImpl_ITransformOperations* GetOperations() { return (::GEOMImpl_ITransformOperations*)GetImpl(); }
109 };
110
111 #endif