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>
9 #include <TColStd_HSequenceOfInteger.hxx>
14 class Handle(GEOM_Object);
15 class Handle(TColStd_HArray1OfInteger);
17 class GEOMImpl_IShapesOperations : public GEOM_IOperations {
19 GEOMImpl_IShapesOperations(GEOM_Engine* theEngine, int theDocID);
20 ~GEOMImpl_IShapesOperations();
22 Handle(GEOM_Object) MakeEdge (Handle(GEOM_Object) thePoint1,
23 Handle(GEOM_Object) thePoint2);
25 Handle(GEOM_Object) MakeWire (list<Handle(GEOM_Object)> theEdgesAndWires);
27 Handle(GEOM_Object) MakeFace (Handle(GEOM_Object) theWire, const bool isPlanarWanted);
29 Handle(GEOM_Object) MakeFaceWires (list<Handle(GEOM_Object)> theWires,
30 const bool isPlanarWanted);
32 Handle(GEOM_Object) MakeShell (list<Handle(GEOM_Object)> theShapes);
34 Handle(GEOM_Object) MakeSolidShell (Handle(GEOM_Object) theShell);
36 Handle(GEOM_Object) MakeSolidShells (list<Handle(GEOM_Object)> theShells);
38 Handle(GEOM_Object) MakeCompound (list<Handle(GEOM_Object)> theShapes);
40 Handle(GEOM_Object) MakeGlueFaces (Handle(GEOM_Object) theShape,
41 const Standard_Real theTolerance);
43 Handle(TColStd_HSequenceOfTransient) MakeExplode (Handle(GEOM_Object) theShape,
44 const Standard_Integer theShapeType,
45 const Standard_Boolean isSorted);
47 Handle(TColStd_HSequenceOfInteger) SubShapeAllIDs (Handle(GEOM_Object) theShape,
48 const Standard_Integer theShapeType,
49 const Standard_Boolean isSorted);
51 Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object) theMainShape,
52 const Standard_Integer theID);
54 Standard_Integer NumberOfFaces (Handle(GEOM_Object) theShape);
55 Standard_Integer NumberOfEdges (Handle(GEOM_Object) theShape);
57 Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes);
59 Handle(TColStd_HSequenceOfInteger) GetFreeFacesIDs (Handle(GEOM_Object) theShape);
61 Handle(TColStd_HSequenceOfTransient) GetSharedShapes (Handle(GEOM_Object) theShape1,
62 Handle(GEOM_Object) theShape2,
63 const Standard_Integer theShapeType);
65 Handle(GEOM_Object) GetShapesOnPlane (Handle(GEOM_Object) theShape,
66 const Standard_Integer theShapeType,
67 Handle(GEOM_Object) thePlane);
69 Handle(GEOM_Object) GetShapesOnCylinder (Handle(GEOM_Object) theShape,
70 const Standard_Integer theShapeType,
71 Handle(GEOM_Object) theAxis,
72 const Standard_Real theRadius);
74 Handle(GEOM_Object) GetShapesOnSphere (Handle(GEOM_Object) theShape,
75 const Standard_Integer theShapeType,
76 Handle(GEOM_Object) theCenter,
77 const Standard_Real theRadius);
79 Handle(GEOM_Object) GetInPlace (Handle(GEOM_Object) theShapeWhere,
80 Handle(GEOM_Object) theShapeWhat);
82 static void SortShapes (TopTools_ListOfShape& SL);
85 Handle(GEOM_Object) MakeShape (list<Handle(GEOM_Object)> theShapes,
86 const Standard_Integer theObjectType,
87 const Standard_Integer theFunctionType,
88 const TCollection_AsciiString theMethodName);