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 const CORBA::Boolean isPlanarWanted);
32 GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
33 const 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 const CORBA::Double theTolerance);
46 GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
47 const CORBA::Long theShapeType,
48 const CORBA::Boolean isSorted);
50 GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
51 const CORBA::Long theShapeType,
52 const CORBA::Boolean isSorted);
54 GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
55 const CORBA::Long theID);
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 const CORBA::Long theShapeType);
68 GEOM::GEOM_Object_ptr GetShapesOnPlane (GEOM::GEOM_Object_ptr theShape,
69 const CORBA::Long theShapeType,
70 GEOM::GEOM_Object_ptr thePlane);
72 GEOM::GEOM_Object_ptr GetShapesOnCylinder (GEOM::GEOM_Object_ptr theShape,
73 const CORBA::Long theShapeType,
74 GEOM::GEOM_Object_ptr theAxis,
75 const CORBA::Double theRadius);
77 GEOM::GEOM_Object_ptr GetShapesOnSphere (GEOM::GEOM_Object_ptr theShape,
78 const CORBA::Long theShapeType,
79 GEOM::GEOM_Object_ptr theCenter,
80 const CORBA::Double theRadius);
82 GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
83 GEOM::GEOM_Object_ptr theShapeWhat);
85 ::GEOMImpl_IShapesOperations* GetOperations()
86 { return (::GEOMImpl_IShapesOperations*)GetImpl(); }