// 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 _BRepMesh_DataStructureOfDelaun_HeaderFile #define _BRepMesh_DataStructureOfDelaun_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_BRepMesh_DataStructureOfDelaun_HeaderFile #include #endif #ifndef _BRepMesh_VertexTool_HeaderFile #include #endif #ifndef _BRepMesh_IDMapOfLinkOfDataStructureOfDelaun_HeaderFile #include #endif #ifndef _BRepMesh_ListOfInteger_HeaderFile #include #endif #ifndef _BRepMesh_IMapOfElementOfDataStructureOfDelaun_HeaderFile #include #endif #ifndef _BRepMesh_MapOfInteger_HeaderFile #include #endif #ifndef _BRepMesh_BaseAllocator_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _BRepMesh_PairOfIndex_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif class BRepMesh_Vertex; class BRepMesh_VertexTool; class BRepMesh_Edge; class BRepMesh_Triangle; //! Describes the data structure necessary for the
//! mesh algorithms in two dimensions plane or on
//! surface by meshing in UV space.
class BRepMesh_DataStructureOfDelaun : public MMgt_TShared { public: //! is just an evaluation of the
//! presumed number of nodes in this mesh. The
//! Mesh data structure will be automatically
//! redimensioned if necessary.
Standard_EXPORT BRepMesh_DataStructureOfDelaun(const BRepMesh_BaseAllocator& theAllocator,const Standard_Integer NodeNumber = 100); //! Adds a node to the mesh if the node is not
//! already in the Mesh. Returns the index of the
//! node in the structure.
Standard_EXPORT Standard_Integer AddNode(const BRepMesh_Vertex& theNode) ; //! Get the value of node .
Standard_EXPORT const BRepMesh_Vertex& GetNode(const Standard_Integer Index) ; const BRepMesh_Vertex& operator ()(const Standard_Integer Index) { return GetNode(Index); } //! Get the list of node .
Standard_EXPORT const BRepMesh_ListOfInteger& GetNodeList(const Standard_Integer Index) ; //! Removes the node of index from the mesh.
Standard_EXPORT void ForceRemoveNode(const Standard_Integer Index) ; //! Removes the link of index from the mesh.
Standard_EXPORT void ForceRemoveLink(const Standard_Integer Index) ; //! Removes the all nodes and sets new map of
//! nodes from the mesh.
//! For internal use only.
Standard_EXPORT void ReplaceNodes(const BRepMesh_VertexTool& NewNodes) ; //! Removes the node of index from the mesh.
Standard_EXPORT void RemoveNode(const Standard_Integer Index) ; //! Changes the UV value of node of index by
//! . Returns false if is already in
//! the structure.
Standard_EXPORT Standard_Boolean MoveNode(const Standard_Integer Index,const BRepMesh_Vertex& newNode) ; //! Gives the number of nodes in this mesh.
Standard_EXPORT Standard_Integer NbNodes() const; //! Adds a Link to the mesh if the Link is not
//! already in the structure. Returns the index of
//! the link in the structure.
Standard_EXPORT Standard_Integer AddLink(const BRepMesh_Edge& theLink) ; //! Get the value of Link .
Standard_EXPORT const BRepMesh_Edge& GetLink(const Standard_Integer Index) ; //! Removes the Link of index from the
//! mesh.
Standard_EXPORT void RemoveLink(const Standard_Integer Index) ; //! Substitutes the Link of index by
//! clear the connectivity.
Standard_EXPORT Standard_Boolean SubstituteLink(const Standard_Integer Index,const BRepMesh_Edge& newLink) ; //! Gives the number of elements in this mesh.
Standard_EXPORT Standard_Integer NbLinks() const; //! Adds an element to the mesh if it is not
//! already in the Mesh. Returns the index of the
//! element in the structure.
Standard_EXPORT Standard_Integer AddElement(const BRepMesh_Triangle& theElement) ; //! Get the value of Element .
Standard_EXPORT const BRepMesh_Triangle& GetElement(const Standard_Integer Index) ; //! Removes the element of index in the mesh.
Standard_EXPORT void RemoveElement(const Standard_Integer Index) ; //! Substitutes the element of index by
//! . The links connectivity is updated.
Standard_EXPORT Standard_Boolean SubstituteElement(const Standard_Integer Index,const BRepMesh_Triangle& newElement) ; //! Gives the number of elements in this mesh.
Standard_EXPORT Standard_Integer NbElements() const; //! Removes all elements
Standard_EXPORT void ClearDomain() ; //! Finds the index of the node. Returns 0 if the
//! node is not in the mesh.
Standard_EXPORT Standard_Integer IndexOf(const BRepMesh_Vertex& aNode) ; //! Finds the index of the Link. Returns 0 if the
//! Link is not in the mesh.
Standard_EXPORT Standard_Integer IndexOf(const BRepMesh_Edge& aLink) const; //! Finds the index of the Element. Returns 0 if
//! the Element is not in the mesh.
Standard_EXPORT Standard_Integer IndexOf(const BRepMesh_Triangle& anElement) const; //! Gives the list of Link's indices handling the
//! node .
Standard_EXPORT const BRepMesh_ListOfInteger& LinkNeighboursOf(const Standard_Integer theNode) const; //! Gives the element's indices conected
//! to .
Standard_EXPORT const BRepMesh_PairOfIndex& ElemConnectedTo(const Standard_Integer theLink) const; //! Gives the list of element's indices
Standard_EXPORT const BRepMesh_MapOfInteger& ElemOfDomain() const; //! Gives the list of link's indices
Standard_EXPORT const BRepMesh_MapOfInteger& LinkOfDomain() const; //! This method substitute the deleted items by
//! the last in Indexed Data Maps to have only
//! non-deleted elements, links or nodes in the
//! structure.
Standard_EXPORT void ClearDeleted() ; //! Give informations on map.
Standard_EXPORT void Statistics(Standard_OStream& flot) const; Standard_EXPORT const BRepMesh_BaseAllocator& Allocator() const; //! Give the data structure for cell size and
//! tolerance initialization.
Standard_EXPORT BRepMesh_VertexTool& Data() ; DEFINE_STANDARD_RTTI(BRepMesh_DataStructureOfDelaun) protected: private: //! Deletes the element of index in
//! the mesh. Used by RemoveElement.
Standard_EXPORT void ClearElement(const Standard_Integer Index,const BRepMesh_Triangle& theElem) ; BRepMesh_VertexTool myNodes; BRepMesh_IDMapOfLinkOfDataStructureOfDelaun myLinks; BRepMesh_ListOfInteger myDelLinks; BRepMesh_IMapOfElementOfDataStructureOfDelaun myElements; BRepMesh_MapOfInteger myElemOfDomain; BRepMesh_MapOfInteger myLinkOfDomain; BRepMesh_BaseAllocator myAllocator; }; // other Inline functions and methods (like "C++: function call" methods) #endif