Developer Documentation
|
Public Types | |
typedef VertexPropertyT < OpenVolumeMeshStatus > ::const_iterator | const_vstatus_iterator |
typedef VertexPropertyT < OpenVolumeMeshStatus > ::iterator | vstatus_iterator |
typedef EdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | const_estatus_iterator |
typedef EdgePropertyT < OpenVolumeMeshStatus > ::iterator | estatus_iterator |
typedef HalfEdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | const_hestatus_iterator |
typedef HalfEdgePropertyT < OpenVolumeMeshStatus > ::iterator | hestatus_iterator |
typedef FacePropertyT < OpenVolumeMeshStatus > ::const_iterator | const_fstatus_iterator |
typedef FacePropertyT < OpenVolumeMeshStatus > ::iterator | fstatus_iterator |
typedef HalfFacePropertyT < OpenVolumeMeshStatus > ::const_iterator | const_hfstatus_iterator |
typedef HalfFacePropertyT < OpenVolumeMeshStatus > ::iterator | hfstatus_iterator |
typedef CellPropertyT < OpenVolumeMeshStatus > ::const_iterator | const_cstatus_iterator |
typedef CellPropertyT < OpenVolumeMeshStatus > ::iterator | cstatus_iterator |
Public Member Functions | |
StatusAttrib (TopologyKernel &_kernel) | |
const OpenVolumeMeshStatus & | operator[] (const VertexHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const VertexHandle &_h) |
const OpenVolumeMeshStatus & | operator[] (const EdgeHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const EdgeHandle &_h) |
const OpenVolumeMeshStatus & | operator[] (const HalfEdgeHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const HalfEdgeHandle &_h) |
const OpenVolumeMeshStatus & | operator[] (const FaceHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const FaceHandle &_h) |
const OpenVolumeMeshStatus & | operator[] (const HalfFaceHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const HalfFaceHandle &_h) |
const OpenVolumeMeshStatus & | operator[] (const CellHandle &_h) const |
OpenVolumeMeshStatus & | operator[] (const CellHandle &_h) |
const OpenVolumeMeshStatus & | mesh_status () const |
OpenVolumeMeshStatus & | mesh_status () |
VertexPropertyT < OpenVolumeMeshStatus > ::const_iterator | vstatus_begin () const |
VertexPropertyT < OpenVolumeMeshStatus > ::iterator | vstatus_begin () |
VertexPropertyT < OpenVolumeMeshStatus > ::const_iterator | vstatus_end () const |
VertexPropertyT < OpenVolumeMeshStatus > ::iterator | vstatus_end () |
EdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | estatus_begin () const |
EdgePropertyT < OpenVolumeMeshStatus > ::iterator | estatus_begin () |
EdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | estatus_end () const |
EdgePropertyT < OpenVolumeMeshStatus > ::iterator | estatus_end () |
HalfEdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | hestatus_begin () const |
HalfEdgePropertyT < OpenVolumeMeshStatus > ::iterator | hestatus_begin () |
HalfEdgePropertyT < OpenVolumeMeshStatus > ::const_iterator | hestatus_end () const |
HalfEdgePropertyT < OpenVolumeMeshStatus > ::iterator | hestatus_end () |
FacePropertyT < OpenVolumeMeshStatus > ::const_iterator | fstatus_begin () const |
FacePropertyT < OpenVolumeMeshStatus > ::iterator | fstatus_begin () |
FacePropertyT < OpenVolumeMeshStatus > ::const_iterator | fstatus_end () const |
FacePropertyT < OpenVolumeMeshStatus > ::iterator | fstatus_end () |
HalfFacePropertyT < OpenVolumeMeshStatus > ::const_iterator | hfstatus_begin () const |
HalfFacePropertyT < OpenVolumeMeshStatus > ::iterator | hfstatus_begin () |
HalfFacePropertyT < OpenVolumeMeshStatus > ::const_iterator | hfstatus_end () const |
HalfFacePropertyT < OpenVolumeMeshStatus > ::iterator | hfstatus_end () |
CellPropertyT < OpenVolumeMeshStatus > ::const_iterator | cstatus_begin () const |
CellPropertyT < OpenVolumeMeshStatus > ::iterator | cstatus_begin () |
CellPropertyT < OpenVolumeMeshStatus > ::const_iterator | cstatus_end () const |
CellPropertyT < OpenVolumeMeshStatus > ::iterator | cstatus_end () |
void | garbage_collection (bool _preserveManifoldness=false) |
Delete all entities that have been marked as deleted. More... | |
template<typename std_API_Container_VHandlePointer , typename std_API_Container_HHandlePointer , typename std_API_Container_HFHandlePointer , typename std_API_Container_CHandlePointer > | |
void | garbage_collection (std_API_Container_VHandlePointer &vh_to_update, std_API_Container_HHandlePointer &hh_to_update, std_API_Container_HFHandlePointer &hfh_to_update, std_API_Container_CHandlePointer &ch_to_update, bool _preserveManifoldness=false) |
garbage collection with handle tracking More... | |
Private Member Functions | |
void | mark_higher_dim_entities () |
Private Attributes | |
TopologyKernel & | kernel_ |
VertexPropertyT < OpenVolumeMeshStatus > | v_status_ |
EdgePropertyT < OpenVolumeMeshStatus > | e_status_ |
HalfEdgePropertyT < OpenVolumeMeshStatus > | he_status_ |
FacePropertyT < OpenVolumeMeshStatus > | f_status_ |
HalfFacePropertyT < OpenVolumeMeshStatus > | hf_status_ |
CellPropertyT < OpenVolumeMeshStatus > | c_status_ |
MeshPropertyT < OpenVolumeMeshStatus > | m_status_ |
Definition at line 57 of file StatusAttrib.hh.
void OpenVolumeMesh::StatusAttrib::garbage_collection | ( | bool | _preserveManifoldness = false | ) |
Delete all entities that have been marked as deleted.
This function deletes all entities that have been marked as deleted. It proceeds bottom-up, starting with the vertices. All higher dimensional entities that are incident to a deleted entity are automatically marked deleted, too. Once this first pass is through, one can additionally delete all resulting non-manifold configurations in a second pass (triggered by the parameter of this function). This step proceeds as follows: Delete all n-dimensional entities (starting with n = 2), that are not incident to at least one entity of dimension n + 1. Note that the second pass requires bottom-up incidences to be available. Compute them by calling update_incidences().
_preserveManifoldness | Pass true if the mesh is required to stay three-manifold |
Definition at line 153 of file StatusAttrib.cc.
void OpenVolumeMesh::StatusAttrib::garbage_collection | ( | std_API_Container_VHandlePointer & | vh_to_update, |
std_API_Container_HHandlePointer & | hh_to_update, | ||
std_API_Container_HFHandlePointer & | hfh_to_update, | ||
std_API_Container_CHandlePointer & | ch_to_update, | ||
bool | _preserveManifoldness = false |
||
) |
garbage collection with handle tracking
This function deletes all entities that have been marked as deleted. It proceeds bottom-up, starting with the vertices. All higher dimensional entities that are incident to a deleted entity are automatically marked deleted, too. Once this first pass is through, one can additionally delete all resulting non-manifold configurations in a second pass (triggered by the parameter of this function). This step proceeds as follows: Delete all n-dimensional entities (starting with n = 2), that are not incident to at least one entity of dimension n + 1. Note that the second pass requires bottom-up incidences to be available. Compute them by calling update_incidences().
vh_to_update | Pointers to vertex handles that should get updated |
hh_to_update | Pointers to halfedge handles that should get updated |
hfh_to_update | Pointers to halfface handles that should get updated |
ch_to_update | Pointers to cell handles that should get updated |
_preserveManifoldness | Pass true if the mesh is required to stay three-manifold |
Definition at line 59 of file StatusAttribT.cc.