Salome HOME
Join modifications from branch BR_DEBUG_3_2_0b1
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IPipeDiffSect.hxx
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library is distributed in the hope that it will be useful 
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 //
20 //NOTE: This is an intreface to a function for the Pipe creation.
21
22 #ifndef _GEOMImpl_IPIPEDIFFSECT_HXX_
23 #define _GEOMImpl_IPIPEDIFFSECT_HXX_
24
25 #include "GEOM_Function.hxx"
26
27 #ifndef _GEOMImpl_IPIPE_HXX_
28 #include "GEOMImpl_IPipe.hxx"
29 #endif
30
31 #define PIPEDS_LIST_BASES 1
32 #define PIPEDS_LIST_LOCATIONS 3
33 //#define PIPEDS_ARG_PATH 2
34 #define PIPEDS_ARG_WITHCONTACT 4
35 #define PIPEDS_ARG_WITHCORRECT 5
36
37
38 class GEOMImpl_IPipeDiffSect : public GEOMImpl_IPipe
39 {
40  public:
41
42   GEOMImpl_IPipeDiffSect(const Handle(GEOM_Function)& theFunction):GEOMImpl_IPipe(theFunction) {}
43   
44   void SetBases (const Handle(TColStd_HSequenceOfTransient)& theBases) 
45   { _func->SetReferenceList(PIPEDS_LIST_BASES,theBases); }
46
47   Handle(TColStd_HSequenceOfTransient) GetBases ()
48   { 
49     Handle(TColStd_HSequenceOfTransient) aBases = _func->GetReferenceList(PIPEDS_LIST_BASES);
50     return aBases; 
51    }
52
53   void SetLocations (const Handle(TColStd_HSequenceOfTransient)& theLocations) 
54   { _func->SetReferenceList(PIPEDS_LIST_LOCATIONS,theLocations); }
55
56   Handle(TColStd_HSequenceOfTransient) GetLocations ()
57   { 
58     Handle(TColStd_HSequenceOfTransient) aLocs = _func->GetReferenceList(PIPEDS_LIST_LOCATIONS);
59     return aLocs; 
60   }
61
62   //void SetPath (const Handle(GEOM_Function)& thePath) { _func->SetReference(PIPEDS_ARG_PATH, thePath); }
63
64   //Handle(GEOM_Function) GetPath() { return _func->GetReference(PIPEDS_ARG_PATH); }
65
66   void SetWithContactMode(int theWithContact)
67   { _func->SetInteger(PIPEDS_ARG_WITHCONTACT,theWithContact); }
68
69   int GetWithContactMode()
70   { return _func->GetInteger(PIPEDS_ARG_WITHCONTACT); }
71
72   void SetWithCorrectionMode(int theWithCorrection)
73   { _func->SetInteger(PIPEDS_ARG_WITHCORRECT,theWithCorrection); }
74
75   int GetWithCorrectionMode()
76   { return _func->GetInteger(PIPEDS_ARG_WITHCORRECT); }
77
78 };
79
80 #endif