// 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 _TopOpeBRepTool_PurgeInternalEdges_HeaderFile #define _TopOpeBRepTool_PurgeInternalEdges_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class Standard_ConstructionError; class Standard_NullObject; class TopoDS_Shape; class TopTools_DataMapOfShapeListOfShape; //! remove from a shape, the internal edges that are
//! not connected to any face in the shape. We can
//! get the list of the edges as a
//! DataMapOfShapeListOfShape with a Face of the Shape
//! as the key and a list of internal edges as the
//! value. The list of internal edges means edges
//! that are not connected to any face in the shape.
//!
//! Example of use :
//! TopTools_DataMapOfShapeListOfShape mymap;
//! TopOpeBRepTool_PurgeInternalEdges
//! mypurgealgo(mysolid); mypurgealgo.GetFaces(mymap);
//!
class TopOpeBRepTool_PurgeInternalEdges { 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); } //! Initialize members and begin exploration of shape
//! depending of the value of PerformNow
Standard_EXPORT TopOpeBRepTool_PurgeInternalEdges(const TopoDS_Shape& theShape,const Standard_Boolean PerformNow = Standard_True); //! returns the list internal edges associated with
//! the faces of the myShape. If PerformNow was False
//! when created, then call the private Perform method
//! that do the main job.
Standard_EXPORT void Faces(TopTools_DataMapOfShapeListOfShape& theMapFacLstEdg) ; //! returns myShape modified with the list of internal
//! edges removed from it.
Standard_EXPORT TopoDS_Shape& Shape() ; //! returns the number of edges candidate to be removed
Standard_EXPORT const Standard_Integer NbEdges() const; //! returns False if the list of internal edges has
//! not been extracted
Standard_Boolean IsDone() const; //! Using the list of internal edge from each face,
//! rebuild myShape by removing thoses edges.
//!
Standard_EXPORT void Perform() ; protected: TopTools_IndexedDataMapOfShapeListOfShape myMapEdgLstFac; private: //! Do the main job. Explore all the edges of myShape and
//! build a map with faces as a key and list of internal
//! edges(without connected faces) as value.
//!
Standard_EXPORT void BuildList() ; TopoDS_Shape myShape; Standard_Boolean myIsDone; TopTools_DataMapOfShapeListOfShape myMapFacLstEdg; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif