Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IArc.hxx
1 //NOTE: This is an intreface to a function for the Arc creation.
2
3
4 #include "GEOM_Function.hxx"
5
6 #define ARC_ARG_PI  1
7 #define ARC_ARG_PC  2
8 #define ARC_ARG_PE  3
9
10 class GEOMImpl_IArc
11 {
12  public:
13
14   GEOMImpl_IArc(Handle(GEOM_Function) theFunction): _func(theFunction) {}
15
16   void SetPoint1(Handle(GEOM_Function) theP) { _func->SetReference(ARC_ARG_PI, theP); }
17   void SetPoint2(Handle(GEOM_Function) theP) { _func->SetReference(ARC_ARG_PC, theP); }
18   void SetPoint3(Handle(GEOM_Function) theP) { _func->SetReference(ARC_ARG_PE, theP); }
19
20   Handle(GEOM_Function) GetPoint1() { return _func->GetReference(ARC_ARG_PI); }
21   Handle(GEOM_Function) GetPoint2() { return _func->GetReference(ARC_ARG_PC); }
22   Handle(GEOM_Function) GetPoint3() { return _func->GetReference(ARC_ARG_PE); }
23
24  private:
25
26   Handle(GEOM_Function) _func;
27 };