OpenVolumeMesh
Loading...
Searching...
No Matches
OpenVolumeMesh::StatusAttrib Class Reference

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 OpenVolumeMeshStatusoperator[] (const VertexHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const VertexHandle &_h)
 
const OpenVolumeMeshStatusoperator[] (const EdgeHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const EdgeHandle &_h)
 
const OpenVolumeMeshStatusoperator[] (const HalfEdgeHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const HalfEdgeHandle &_h)
 
const OpenVolumeMeshStatusoperator[] (const FaceHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const FaceHandle &_h)
 
const OpenVolumeMeshStatusoperator[] (const HalfFaceHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const HalfFaceHandle &_h)
 
const OpenVolumeMeshStatusoperator[] (const CellHandle &_h) const
 
OpenVolumeMeshStatusoperator[] (const CellHandle &_h)
 
const OpenVolumeMeshStatusmesh_status () const
 
OpenVolumeMeshStatusmesh_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
 

Member Function Documentation

◆ garbage_collection() [1/2]

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

Parameters
_preserveManifoldnessPass true if the mesh is required to stay three-manifold

◆ garbage_collection() [2/2]

template<typename std_API_Container_VHandlePointer, typename std_API_Container_HHandlePointer, typename std_API_Container_HFHandlePointer, typename std_API_Container_CHandlePointer>
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().

Note
Garbage collection invalidates all handles. If you need to keep track of a set of handles, you can pass them to this function. The handles that the given pointers point to are updated in place.
Parameters
vh_to_updatePointers to vertex handles that should get updated
hh_to_updatePointers to halfedge handles that should get updated
hfh_to_updatePointers to halfface handles that should get updated
ch_to_updatePointers to cell handles that should get updated
_preserveManifoldnessPass true if the mesh is required to stay three-manifold

The documentation for this class was generated from the following files: