Salome HOME
8b38e4dd89fcd0add5d7cf00e5c5068361d38556
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IRotate.hxx
1 //NOTE: This is an intreface to a function for the Rotate operation.
2
3
4 #include "GEOM_Function.hxx"
5
6 #define ROTATE_ANGLE    1  
7 #define ROTATE_AXIS     2
8 #define ROTATE_ORGN     3
9 #define ROTATE_STEP1      4
10 #define ROTATE_NBITER1   5
11 #define ROTATE_NBITER2   6
12
13 class GEOMImpl_IRotate
14 {
15  public:
16   
17   GEOMImpl_IRotate(Handle(GEOM_Function) theFunction): _func(theFunction) {}
18   
19   void SetAngle(Standard_Real theAngle) { _func->SetReal(ROTATE_ANGLE, theAngle); }
20   
21   Standard_Real GetAngle() { return _func->GetReal(ROTATE_ANGLE); }
22   
23   void SetAxis(Handle(GEOM_Function) theVector) { _func->SetReference(ROTATE_AXIS, theVector); }
24   
25   Handle(GEOM_Function) GetAxis() { return _func->GetReference(ROTATE_AXIS); } 
26   
27   void SetOriginal(Handle(GEOM_Function) theOriginal) { _func->SetReference(ROTATE_ORGN, theOriginal); }
28
29   Handle(GEOM_Function) GetOriginal() { return _func->GetReference(ROTATE_ORGN); }
30
31   void SetStep(double theStep) { return _func->SetReal(ROTATE_STEP1, theStep); }
32
33   double GetStep() { return _func->GetReal(ROTATE_STEP1); }
34
35   void SetNbIter1(int theNbIter) { _func->SetInteger(ROTATE_NBITER1, theNbIter); }
36
37   int GetNbIter1() { return _func->GetInteger(ROTATE_NBITER1); } 
38
39   void SetNbIter2(int theNbIter) { _func->SetInteger(ROTATE_NBITER2, theNbIter); }
40
41   int GetNbIter2() { return _func->GetInteger(ROTATE_NBITER2); } 
42
43   
44  private:
45   
46   Handle(GEOM_Function) _func;  
47 };