2004-12-01 15:39:14 +05:00
|
|
|
|
|
|
|
#ifndef _GEOMImpl_IShapesOperations_HXX_
|
|
|
|
#define _GEOMImpl_IShapesOperations_HXX_
|
|
|
|
|
|
|
|
#include "GEOM_IOperations.hxx"
|
|
|
|
|
2005-01-21 14:16:41 +05:00
|
|
|
#include "GEOMAlgo_State.hxx"
|
|
|
|
|
2004-12-01 15:39:14 +05:00
|
|
|
#include <TopTools_ListOfShape.hxx>
|
|
|
|
#include <TColStd_HSequenceOfTransient.hxx>
|
2005-01-20 11:24:17 +05:00
|
|
|
#include <TColStd_HSequenceOfInteger.hxx>
|
2004-12-01 15:39:14 +05:00
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
class GEOM_Engine;
|
|
|
|
class Handle(GEOM_Object);
|
|
|
|
class Handle(TColStd_HArray1OfInteger);
|
|
|
|
|
|
|
|
class GEOMImpl_IShapesOperations : public GEOM_IOperations {
|
|
|
|
public:
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT GEOMImpl_IShapesOperations(GEOM_Engine* theEngine, int theDocID);
|
|
|
|
Standard_EXPORT ~GEOMImpl_IShapesOperations();
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeEdge (Handle(GEOM_Object) thePoint1,
|
2004-12-01 15:39:14 +05:00
|
|
|
Handle(GEOM_Object) thePoint2);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeWire (list<Handle(GEOM_Object)> theEdgesAndWires);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeFace (Handle(GEOM_Object) theWire, const bool isPlanarWanted);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeFaceWires (list<Handle(GEOM_Object)> theWires,
|
2005-01-20 11:24:17 +05:00
|
|
|
const bool isPlanarWanted);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeShell (list<Handle(GEOM_Object)> theShapes);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeSolidShell (Handle(GEOM_Object) theShell);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeSolidShells (list<Handle(GEOM_Object)> theShells);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeCompound (list<Handle(GEOM_Object)> theShapes);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) MakeGlueFaces (Handle(GEOM_Object) theShape,
|
2004-12-01 15:39:14 +05:00
|
|
|
const Standard_Real theTolerance);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeExplode (Handle(GEOM_Object) theShape,
|
2004-12-01 15:39:14 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Standard_Boolean isSorted);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) SubShapeAllIDs (Handle(GEOM_Object) theShape,
|
2005-01-20 11:24:17 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Standard_Boolean isSorted);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object) theMainShape,
|
2004-12-01 15:39:14 +05:00
|
|
|
const Standard_Integer theID);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Standard_Integer NumberOfFaces (Handle(GEOM_Object) theShape);
|
|
|
|
Standard_EXPORT Standard_Integer NumberOfEdges (Handle(GEOM_Object) theShape);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetFreeFacesIDs (Handle(GEOM_Object) theShape);
|
2005-01-20 11:24:17 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes (Handle(GEOM_Object) theShape1,
|
2005-01-20 11:24:17 +05:00
|
|
|
Handle(GEOM_Object) theShape2,
|
|
|
|
const Standard_Integer theShapeType);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnPlane (const Handle(GEOM_Object)& theShape,
|
2005-01-21 14:16:41 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theAx1,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnCylinder (const Handle(GEOM_Object)& theShape,
|
2005-01-21 14:16:41 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theAxis,
|
|
|
|
const Standard_Real theRadius,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnSphere (const Handle(GEOM_Object)& theShape,
|
2005-01-21 14:16:41 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theCenter,
|
|
|
|
const Standard_Real theRadius,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnPlaneIDs (const Handle(GEOM_Object)& theShape,
|
2005-03-23 12:27:20 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theAx1,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnCylinderIDs (const Handle(GEOM_Object)& theShape,
|
2005-03-23 12:27:20 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theAxis,
|
|
|
|
const Standard_Real theRadius,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnSphereIDs (const Handle(GEOM_Object)& theShape,
|
2005-03-23 12:27:20 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
const Handle(GEOM_Object)& theCenter,
|
|
|
|
const Standard_Real theRadius,
|
|
|
|
const GEOMAlgo_State theState);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) GetShapesOnCylinderOld (Handle(GEOM_Object) theShape,
|
2005-01-21 14:16:41 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
Handle(GEOM_Object) theAxis,
|
|
|
|
const Standard_Real theRadius);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) GetShapesOnSphereOld (Handle(GEOM_Object) theShape,
|
2005-01-21 14:16:41 +05:00
|
|
|
const Standard_Integer theShapeType,
|
|
|
|
Handle(GEOM_Object) theCenter,
|
|
|
|
const Standard_Real theRadius);
|
2005-01-20 11:24:17 +05:00
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT Handle(GEOM_Object) GetInPlace (Handle(GEOM_Object) theShapeWhere,
|
2005-01-20 11:24:17 +05:00
|
|
|
Handle(GEOM_Object) theShapeWhat);
|
|
|
|
|
2005-08-11 10:43:57 +06:00
|
|
|
Standard_EXPORT static void SortShapes (TopTools_ListOfShape& SL);
|
2004-12-01 15:39:14 +05:00
|
|
|
|
|
|
|
private:
|
2005-08-19 15:11:52 +06:00
|
|
|
Handle(GEOM_Object) MakeShape (list<Handle(GEOM_Object)> theShapes,
|
|
|
|
const Standard_Integer theObjectType,
|
|
|
|
const Standard_Integer theFunctionType,
|
|
|
|
const TCollection_AsciiString& theMethodName);
|
2005-03-23 12:27:20 +05:00
|
|
|
|
|
|
|
bool CheckTriangulation (const TopoDS_Shape& aShape);
|
2004-12-01 15:39:14 +05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|