]> SALOME platform Git repositories - modules/geom.git/blob - src/GEOM_I/GEOM_IShapesOperations_i.hh
Salome HOME
0ad390980997bb91d7d1e9c788db178cf51f3786
[modules/geom.git] / src / GEOM_I / GEOM_IShapesOperations_i.hh
1
2 #ifndef _GEOM_IShapesOperations_i_HeaderFile
3 #define _GEOM_IShapesOperations_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_IShapesOperations.hxx"
13
14 class GEOM_IShapesOperations_i :
15     public virtual POA_GEOM::GEOM_IShapesOperations,
16     public virtual GEOM_IOperations_i
17 {
18  public:
19   GEOM_IShapesOperations_i (PortableServer::POA_ptr       thePOA,
20                             GEOM::GEOM_Gen_ptr            theEngine,
21                             ::GEOMImpl_IShapesOperations* theImpl);
22   ~GEOM_IShapesOperations_i();
23
24   GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
25                                   GEOM::GEOM_Object_ptr thePnt2);
26
27   GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires);
28
29   GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
30                                   const CORBA::Boolean  isPlanarWanted);
31
32   GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
33                                        const CORBA::Boolean  isPlanarWanted);
34
35   GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
36
37   GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
38
39   GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
40
41   GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
42
43   GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
44                                        const CORBA::Double   theTolerance);
45
46   GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
47                                const CORBA::Long     theShapeType,
48                                const CORBA::Boolean  isSorted);
49
50   GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
51                                     const CORBA::Long     theShapeType,
52                                     const CORBA::Boolean  isSorted);
53
54   GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
55                                      const CORBA::Long     theID);
56
57   CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
58   CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
59
60   GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
61
62   GEOM::ListOfLong* GetFreeFacesIDs (GEOM::GEOM_Object_ptr theShape);
63
64   GEOM::ListOfGO* GetSharedShapes (GEOM::GEOM_Object_ptr theShape1,
65                                    GEOM::GEOM_Object_ptr theShape2,
66                                    const CORBA::Long     theShapeType);
67
68   GEOM::ListOfGO* GetShapesOnPlane (GEOM::GEOM_Object_ptr   theShape,
69                                     const CORBA::Long       theShapeType,
70                                     GEOM::GEOM_Object_ptr   theAx1,
71                                     const GEOM::shape_state theState);
72
73   GEOM::ListOfGO* GetShapesOnCylinder (GEOM::GEOM_Object_ptr   theShape,
74                                        const CORBA::Long       theShapeType,
75                                        GEOM::GEOM_Object_ptr   theAxis,
76                                        const CORBA::Double     theRadius,
77                                        const GEOM::shape_state theState);
78
79   GEOM::ListOfGO* GetShapesOnSphere (GEOM::GEOM_Object_ptr   theShape,
80                                      const CORBA::Long       theShapeType,
81                                      GEOM::GEOM_Object_ptr   theCenter,
82                                      const CORBA::Double     theRadius,
83                                      const GEOM::shape_state theState);
84
85   GEOM::ListOfLong* GetShapesOnPlaneIDs (GEOM::GEOM_Object_ptr   theShape,
86                                          const CORBA::Long       theShapeType,
87                                          GEOM::GEOM_Object_ptr   theAx1,
88                                          const GEOM::shape_state theState);
89
90   GEOM::ListOfLong* GetShapesOnCylinderIDs (GEOM::GEOM_Object_ptr   theShape,
91                                             const CORBA::Long       theShapeType,
92                                             GEOM::GEOM_Object_ptr   theAxis,
93                                             const CORBA::Double     theRadius,
94                                             const GEOM::shape_state theState);
95
96   GEOM::ListOfLong* GetShapesOnSphereIDs (GEOM::GEOM_Object_ptr   theShape,
97                                           const CORBA::Long       theShapeType,
98                                           GEOM::GEOM_Object_ptr   theCenter,
99                                           const CORBA::Double     theRadius,
100                                           const GEOM::shape_state theState);
101
102   GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
103                                     GEOM::GEOM_Object_ptr theShapeWhat);
104
105   ::GEOMImpl_IShapesOperations* GetOperations()
106   { return (::GEOMImpl_IShapesOperations*)GetImpl(); }
107 };
108
109 #endif