Salome HOME
PAL7360
[modules/geom.git] / src / GEOM_I / GEOM_IBooleanOperations_i.hh
1
2 #ifndef _GEOM_IBooleanOperations_i_HeaderFile
3 #define _GEOM_IBooleanOperations_i_HeaderFile
4
5
6 #include <SALOMEconfig.h>
7
8 #include CORBA_SERVER_HEADER(GEOM_Gen)
9 #include "GEOM_IOperations_i.hh"
10 #include "GEOM_Object_i.hh"
11
12 #include "GEOMImpl_IBooleanOperations.hxx"
13
14 class GEOM_IBooleanOperations_i : 
15     public virtual POA_GEOM::GEOM_IBooleanOperations,
16     public virtual GEOM_IOperations_i
17 {
18  public:
19   GEOM_IBooleanOperations_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine,
20                             ::GEOMImpl_IBooleanOperations* theImpl);
21   ~GEOM_IBooleanOperations_i();
22
23   GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
24                                      GEOM::GEOM_Object_ptr theShape2,
25                                      CORBA::Long           theOp);
26
27   GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO&   theShapes,
28                                        const GEOM::ListOfGO&   theTools,
29                                        const GEOM::ListOfGO&   theKeepInside,
30                                        const GEOM::ListOfGO&   theRemoveInside,
31                                        const CORBA::Short      theLimit,
32                                        const CORBA::Boolean    theRemoveWebs,
33                                        const GEOM::ListOfLong& theMaterials);
34
35
36   GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
37                                            GEOM::GEOM_Object_ptr thePlane);
38
39   ::GEOMImpl_IBooleanOperations* GetOperations()
40   { return (::GEOMImpl_IBooleanOperations*)GetImpl(); }
41 };
42
43 #endif