// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _BOPTools_Tools_HeaderFile #define _BOPTools_Tools_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class gp_Pnt; class TopoDS_Vertex; class TopoDS_Edge; class TopoDS_Face; class IntTools_Curve; class BOPTools_PaveBlock; class IntTools_Context; class TopoDS_Shape; class TopTools_IndexedMapOfShape; class IntTools_Range; //! The class contains handy static functions
//! dealing with the topology
class BOPTools_Tools { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Make a vertex using 3D-point and 3D-tolerance value
Standard_EXPORT static void MakeNewVertex(const gp_Pnt& aP1,const Standard_Real aTol,TopoDS_Vertex& aNewVertex) ; //! Make a vertex using couple of vertices
Standard_EXPORT static void MakeNewVertex(const TopoDS_Vertex& aV1,const TopoDS_Vertex& aV2,TopoDS_Vertex& aNewVertex) ; //! Make a vertex in place of intersection between two edges
//! with parameters
Standard_EXPORT static void MakeNewVertex(const TopoDS_Edge& aE1,const Standard_Real aP1,const TopoDS_Edge& aE2,const Standard_Real aP2,TopoDS_Vertex& aNewVertex) ; //! Make a vertex in place of intersection between the edge
//! with parameter and the face
Standard_EXPORT static void MakeNewVertex(const TopoDS_Edge& aE1,const Standard_Real aP1,const TopoDS_Face& aF2,TopoDS_Vertex& aNewVertex) ; //! Compute a 3D-point on the edge at parameter
Standard_EXPORT static void PointOnEdge(const TopoDS_Edge& aEdge,const Standard_Real aPrm,gp_Pnt& aP) ; //! Make the edge from base edge and two vertices
//! at parameters
Standard_EXPORT static void MakeSplitEdge(const TopoDS_Edge& aE1,const TopoDS_Vertex& aV1,const Standard_Real aP1,const TopoDS_Vertex& aV2,const Standard_Real aP2,TopoDS_Edge& aNewEdge) ; //! Make the edge from 3D-Curve and two vertices
//! at parameters
Standard_EXPORT static void MakeSectEdge(const IntTools_Curve& aIC,const TopoDS_Vertex& aV1,const Standard_Real aP1,const TopoDS_Vertex& aV2,const Standard_Real aP2,TopoDS_Edge& aNewEdge) ; //! Update the tolerance value for vertex
//! taking into account the fact that lays on
//! the curve
Standard_EXPORT static void UpdateVertex(const IntTools_Curve& aIC,const Standard_Real aT,const TopoDS_Vertex& aV) ; //! Update the tolerance value for vertex
//! taking into account the fact that lays on
//! the edge
Standard_EXPORT static void UpdateVertex(const TopoDS_Edge& aE,const Standard_Real aT,const TopoDS_Vertex& aV) ; //! Update the tolerance value for vertex
//! taking into account the fact that should
//! cover tolerance zone of
Standard_EXPORT static void UpdateVertex(const TopoDS_Vertex& aVF,const TopoDS_Vertex& aVN) ; //! Returns TRUE if PaveBlocks , coinside in 3D
//! taking into account corresp. tolerances' values of vertices,
//! edges
Standard_EXPORT static Standard_Boolean IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) ; //! Returns TRUE if PaveBlock lays on the face , i.e
//! the is IN or ON in 2D of
Standard_EXPORT static Standard_Boolean IsBlockInOnFace(const BOPTools_PaveBlock& aPB,const TopoDS_Face& aF,IntTools_Context& aContext) ; //! Get a Map containing the shape itself and all its subshapes
Standard_EXPORT static void MapShapes(const TopoDS_Shape& aS,TopTools_IndexedMapOfShape& aM) ; //! Correct shrunk range taking into account 3D-curve
//! resolution and corresp. tolerances' values of ,
Standard_EXPORT static void CorrectRange(const TopoDS_Edge& aE1,const TopoDS_Edge& aE2,const IntTools_Range& aSR,IntTools_Range& aNewSR) ; //! Correct shrunk range taking into account 3D-curve
//! resolution and corresp. tolerances' values of ,
Standard_EXPORT static void CorrectRange(const TopoDS_Edge& aE,const TopoDS_Face& aF,const IntTools_Range& aSR,IntTools_Range& aNewSR) ; //! Make a copy of
Standard_EXPORT static void CopySource(const TopoDS_Shape& aSourceShape,TopoDS_Shape& aDestShape) ; protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif