2 #ifndef _GEOM_IShapesOperations_i_HeaderFile
3 #define _GEOM_IShapesOperations_i_HeaderFile
6 #include <SALOMEconfig.h>
8 #include CORBA_SERVER_HEADER(GEOM_Gen)
9 #include "GEOM_IOperations_i.hh"
10 #include "GEOM_Object_i.hh"
12 #include "GEOMImpl_IShapesOperations.hxx"
14 class GEOM_IShapesOperations_i :
15 public virtual POA_GEOM::GEOM_IShapesOperations,
16 public virtual GEOM_IOperations_i
19 GEOM_IShapesOperations_i (PortableServer::POA_ptr thePOA,
20 GEOM::GEOM_Gen_ptr theEngine,
21 ::GEOMImpl_IShapesOperations* theImpl);
22 ~GEOM_IShapesOperations_i();
24 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
25 GEOM::GEOM_Object_ptr thePnt2);
27 GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires);
29 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
30 CORBA::Boolean isPlanarWanted);
32 GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
33 CORBA::Boolean isPlanarWanted);
35 GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
37 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
39 GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
41 GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
43 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
44 CORBA::Double theTolerance);
46 GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
47 CORBA::Long theShapeType,
48 CORBA::Boolean isSorted);
50 GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
51 CORBA::Long theShapeType,
52 CORBA::Boolean isSorted);
54 GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
57 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
58 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
60 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
62 GEOM::ListOfLong* GetFreeFacesIDs (GEOM::GEOM_Object_ptr theShape);
64 GEOM::ListOfGO* GetSharedShapes (GEOM::GEOM_Object_ptr theShape1,
65 GEOM::GEOM_Object_ptr theShape2,
66 CORBA::Long theShapeType);
68 GEOM::ListOfGO* GetShapesOnPlane (GEOM::GEOM_Object_ptr theShape,
69 CORBA::Long theShapeType,
70 GEOM::GEOM_Object_ptr theAx1,
71 GEOM::shape_state theState);
73 GEOM::ListOfGO* GetShapesOnCylinder (GEOM::GEOM_Object_ptr theShape,
74 CORBA::Long theShapeType,
75 GEOM::GEOM_Object_ptr theAxis,
76 CORBA::Double theRadius,
77 GEOM::shape_state theState);
79 GEOM::ListOfGO* GetShapesOnSphere (GEOM::GEOM_Object_ptr theShape,
80 CORBA::Long theShapeType,
81 GEOM::GEOM_Object_ptr theCenter,
82 CORBA::Double theRadius,
83 GEOM::shape_state theState);
85 GEOM::ListOfLong* GetShapesOnPlaneIDs (GEOM::GEOM_Object_ptr theShape,
86 CORBA::Long theShapeType,
87 GEOM::GEOM_Object_ptr theAx1,
88 GEOM::shape_state theState);
90 GEOM::ListOfLong* GetShapesOnCylinderIDs (GEOM::GEOM_Object_ptr theShape,
91 CORBA::Long theShapeType,
92 GEOM::GEOM_Object_ptr theAxis,
93 CORBA::Double theRadius,
94 GEOM::shape_state theState);
96 GEOM::ListOfLong* GetShapesOnSphereIDs (GEOM::GEOM_Object_ptr theShape,
97 CORBA::Long theShapeType,
98 GEOM::GEOM_Object_ptr theCenter,
99 CORBA::Double theRadius,
100 GEOM::shape_state theState);
102 GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
103 GEOM::GEOM_Object_ptr theShapeWhat);
105 ::GEOMImpl_IShapesOperations* GetOperations()
106 { return (::GEOMImpl_IShapesOperations*)GetImpl(); }