Salome HOME
9f6d3b9bdbd08eb6fed9a286ca1bf5d7db8a6e9f
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IFillet.hxx
1 //NOTE: This is an interface to a function for the Fillet and creation.
2
3
4 #include "GEOM_Function.hxx"
5
6 #define FILLET_ARG_SH   1
7 #define FILLET_ARG_R    2
8 #define FILLET_ARG_LENG 3
9 #define FILLET_ARG_LAST 3
10
11 class GEOMImpl_IFillet
12 {
13  public:
14
15   GEOMImpl_IFillet(Handle(GEOM_Function) theFunction): _func(theFunction) {}
16
17   void SetShape(Handle(GEOM_Function) theRef) { _func->SetReference(FILLET_ARG_SH, theRef); }
18
19   Handle(GEOM_Function) GetShape() { return _func->GetReference(FILLET_ARG_SH); }
20
21   void SetR(double theR) { _func->SetReal(FILLET_ARG_R, theR); }
22
23   double GetR() { return _func->GetReal(FILLET_ARG_R); }
24
25   void SetLength(int theLen) { _func->SetInteger(FILLET_ARG_LENG, theLen); }
26
27   int GetLength() { return _func->GetInteger(FILLET_ARG_LENG); }
28
29   void SetEdge(int theInd, int theEdge)
30               { _func->SetInteger(FILLET_ARG_LAST + theInd, theEdge); }
31   void SetFace(int theInd, int theFace)
32               { _func->SetInteger(FILLET_ARG_LAST + theInd, theFace); }
33
34   int GetEdge(int theInd) { return _func->GetInteger(FILLET_ARG_LAST + theInd); }
35   int GetFace(int theInd) { return _func->GetInteger(FILLET_ARG_LAST + theInd); }
36
37  private:
38
39   Handle(GEOM_Function) _func;
40 };