Salome HOME
205f7405c6c6606da3935efa2f95a9f710f31b84
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IBlockTrsf.hxx
1 //NOTE: This is an interface to a function for the Blocks Multi-Transformations.
2
3
4 #include "GEOM_Function.hxx"
5
6 #define TRSF_ORIGIN  1
7
8 #define TRSF_FACE_1_U  2
9 #define TRSF_FACE_2_U  3
10 #define TRSF_NBITER_U  4
11 #define TRSF_FACE_1_V  5
12 #define TRSF_FACE_2_V  6
13 #define TRSF_NBITER_V  7
14
15 class GEOMImpl_IBlockTrsf
16 {
17  public:
18
19   GEOMImpl_IBlockTrsf (Handle(GEOM_Function) theFunction): _func(theFunction) {}
20
21   void SetOriginal (Handle(GEOM_Function) theOriginal) { _func->SetReference(TRSF_ORIGIN, theOriginal); }
22
23   Handle(GEOM_Function) GetOriginal() { return _func->GetReference(TRSF_ORIGIN); }
24
25   void SetFace1U  (int theFaceId) { _func->SetInteger(TRSF_FACE_1_U, theFaceId); }
26   void SetFace2U  (int theFaceId) { _func->SetInteger(TRSF_FACE_2_U, theFaceId); }
27   void SetFace1V  (int theFaceId) { _func->SetInteger(TRSF_FACE_1_V, theFaceId); }
28   void SetFace2V  (int theFaceId) { _func->SetInteger(TRSF_FACE_2_V, theFaceId); }
29   void SetNbIterU (int theNbIter) { _func->SetInteger(TRSF_NBITER_U, theNbIter); }
30   void SetNbIterV (int theNbIter) { _func->SetInteger(TRSF_NBITER_V, theNbIter); }
31
32   int GetFace1U () { return _func->GetInteger(TRSF_FACE_1_U); }
33   int GetFace2U () { return _func->GetInteger(TRSF_FACE_2_U); }
34   int GetFace1V () { return _func->GetInteger(TRSF_FACE_1_V); }
35   int GetFace2V () { return _func->GetInteger(TRSF_FACE_2_V); }
36   int GetNbIterU() { return _func->GetInteger(TRSF_NBITER_U); }
37   int GetNbIterV() { return _func->GetInteger(TRSF_NBITER_V); }
38
39  private:
40
41   Handle(GEOM_Function) _func;
42 };