Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IPrism.hxx
1 //NOTE: This is an intreface to a function for the Prism creation.
2
3
4 #include "GEOM_Function.hxx"
5
6 #define PRISM_ARG_H     1
7 #define PRISM_ARG_VEC   2
8 #define PRISM_ARG_BASE  3
9 #define PRISM_ARG_PNT_F 4
10 #define PRISM_ARG_PNT_L 5
11
12 class GEOMImpl_IPrism
13 {
14  public:
15
16   GEOMImpl_IPrism(Handle(GEOM_Function) theFunction): _func(theFunction) {}
17
18   void SetBase  (Handle(GEOM_Function) theRefBase  ) { _func->SetReference(PRISM_ARG_BASE, theRefBase); }
19   void SetVector(Handle(GEOM_Function) theRefVector) { _func->SetReference(PRISM_ARG_VEC , theRefVector); }
20   void SetFirstPoint(Handle(GEOM_Function) thePoint) { _func->SetReference(PRISM_ARG_PNT_F, thePoint); }
21   void SetLastPoint (Handle(GEOM_Function) thePoint) { _func->SetReference(PRISM_ARG_PNT_L, thePoint); }
22
23   Handle(GEOM_Function) GetBase  () { return _func->GetReference(PRISM_ARG_BASE); }
24   Handle(GEOM_Function) GetVector() { return _func->GetReference(PRISM_ARG_VEC ); }
25   Handle(GEOM_Function) GetFirstPoint() { return _func->GetReference(PRISM_ARG_PNT_F ); }
26   Handle(GEOM_Function) GetLastPoint () { return _func->GetReference(PRISM_ARG_PNT_L ); }
27
28   void SetH(double theH) { _func->SetReal(PRISM_ARG_H, theH); }
29
30   double GetH() { return _func->GetReal(PRISM_ARG_H); }
31
32  private:
33
34   Handle(GEOM_Function) _func;
35 };