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. | |
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 | |
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 |
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 |