2 #ifndef _GEOMImpl_IShapesOperations_HXX_
3 #define _GEOMImpl_IShapesOperations_HXX_
5 #include "GEOM_IOperations.hxx"
7 #include <TopTools_ListOfShape.hxx>
8 #include <TColStd_HSequenceOfTransient.hxx>
13 class Handle(GEOM_Object);
14 class Handle(TColStd_HArray1OfInteger);
16 class GEOMImpl_IShapesOperations : public GEOM_IOperations {
18 GEOMImpl_IShapesOperations(GEOM_Engine* theEngine, int theDocID);
19 ~GEOMImpl_IShapesOperations();
21 Handle(GEOM_Object) MakeEdge (Handle(GEOM_Object) thePoint1,
22 Handle(GEOM_Object) thePoint2);
24 Handle(GEOM_Object) MakeWire (list<Handle(GEOM_Object)> theEdgesAndWires);
26 Handle(GEOM_Object) MakeFace (Handle(GEOM_Object) theWire, bool isPlanarWanted);
28 Handle(GEOM_Object) MakeFaceWires (list<Handle(GEOM_Object)> theWires, bool isPlanarWanted);
30 Handle(GEOM_Object) MakeShell (list<Handle(GEOM_Object)> theShapes);
32 Handle(GEOM_Object) MakeSolidShell (Handle(GEOM_Object) theShell);
34 Handle(GEOM_Object) MakeSolidShells (list<Handle(GEOM_Object)> theShells);
36 Handle(GEOM_Object) MakeCompound (list<Handle(GEOM_Object)> theShapes);
38 Handle(GEOM_Object) MakeGlueFaces (Handle(GEOM_Object) theShape,
39 const Standard_Real theTolerance);
41 Handle(TColStd_HSequenceOfTransient) MakeExplode (Handle(GEOM_Object) theShape,
42 const Standard_Integer theShapeType,
43 const Standard_Boolean isSorted);
45 Standard_Integer NumberOfFaces (Handle(GEOM_Object) theShape);
46 Standard_Integer NumberOfEdges (Handle(GEOM_Object) theShape);
48 Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes);
50 static void SortShapes (TopTools_ListOfShape& SL);
53 Handle(GEOM_Object) MakeShape (list<Handle(GEOM_Object)> theShapes,
54 const Standard_Integer theObjectType,
55 const Standard_Integer theFunctionType,
56 const TCollection_AsciiString theMethodName);