// 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 _BOP_BlockBuilder_HeaderFile #define _BOP_BlockBuilder_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TColStd_DataMapOfIntegerInteger_HeaderFile #include #endif #ifndef _TopTools_IndexedMapOfOrientedShape_HeaderFile #include #endif #ifndef _TColStd_SequenceOfInteger_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class BOP_ShapeSet; class BOP_BlockIterator; class TopoDS_Shape; //! auxiliary class to storage and operate with data of
//! connexity blocks inside the given ShapeSet
//!
class BOP_BlockBuilder { 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); } //! Empty Constructor
Standard_EXPORT BOP_BlockBuilder(); //! Create an object for given ShapeSet
Standard_EXPORT BOP_BlockBuilder(BOP_ShapeSet& SS); //! Compute the set of connexity blocks of elements
//! for of the ShapeSet SS
//!
//!
//! I t e r a t i o n o n b l o c k s made by MakeBlock
//!
Standard_EXPORT void MakeBlock(BOP_ShapeSet& SS) ; Standard_EXPORT void InitBlock() ; Standard_EXPORT Standard_Boolean MoreBlock() const; Standard_EXPORT void NextBlock() ; //! Returns the BlockIterator for the current block .
Standard_EXPORT BOP_BlockIterator BlockIterator() const; //! Returns the current element of .
Standard_EXPORT const TopoDS_Shape& Element(const BOP_BlockIterator& BI) const; //! Returns the current element with index .
Standard_EXPORT const TopoDS_Shape& Element(const Standard_Integer I) const; //! Returns the index of the current element .
Standard_EXPORT Standard_Integer Element(const TopoDS_Shape& S) const; //! Internal
Standard_EXPORT Standard_Boolean ElementIsValid(const BOP_BlockIterator& BI) const; //! Internal
Standard_EXPORT Standard_Boolean ElementIsValid(const Standard_Integer I) const; //! Internal
Standard_EXPORT Standard_Integer AddElement(const TopoDS_Shape& S) ; //! Internal
Standard_EXPORT void SetValid(const BOP_BlockIterator& BI,const Standard_Boolean IsValid) ; //! Internal
Standard_EXPORT void SetValid(const Standard_Integer I,const Standard_Boolean IsValid) ; //! Returns TRUE if all elements inside the current block
//! are biconnexial
Standard_EXPORT Standard_Boolean CurrentBlockIsRegular() ; protected: private: TColStd_DataMapOfIntegerInteger myOrientedShapeMapIsValid; TopTools_IndexedMapOfOrientedShape myOrientedShapeMap; TColStd_SequenceOfInteger myBlocks; Standard_Integer myBlockIndex; Standard_Boolean myIsDone; TColStd_SequenceOfInteger myBlocksIsRegular; }; // other Inline functions and methods (like "C++: function call" methods) #endif