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

TopologyKernelkernel_
 
VertexPropertyT< OpenVolumeMeshStatusv_status_
 
EdgePropertyT< OpenVolumeMeshStatuse_status_
 
HalfEdgePropertyT< OpenVolumeMeshStatushe_status_
 
FacePropertyT< OpenVolumeMeshStatusf_status_
 
HalfFacePropertyT< OpenVolumeMeshStatushf_status_
 
CellPropertyT< OpenVolumeMeshStatusc_status_
 
MeshPropertyT< OpenVolumeMeshStatusm_status_
 

Detailed Description

Definition at line 48 of file StatusAttrib.hh.

Member Typedef Documentation

◆ const_cstatus_iterator

typedef CellPropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_cstatus_iterator

Definition at line 121 of file StatusAttrib.hh.

◆ const_estatus_iterator

typedef EdgePropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_estatus_iterator

Definition at line 113 of file StatusAttrib.hh.

◆ const_fstatus_iterator

typedef FacePropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_fstatus_iterator

Definition at line 117 of file StatusAttrib.hh.

◆ const_hestatus_iterator

typedef HalfEdgePropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_hestatus_iterator

Definition at line 115 of file StatusAttrib.hh.

◆ const_hfstatus_iterator

typedef HalfFacePropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_hfstatus_iterator

Definition at line 119 of file StatusAttrib.hh.

◆ const_vstatus_iterator

typedef VertexPropertyT<OpenVolumeMeshStatus>::const_iterator OpenVolumeMesh::StatusAttrib::const_vstatus_iterator

Definition at line 111 of file StatusAttrib.hh.

◆ cstatus_iterator

typedef CellPropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::cstatus_iterator

Definition at line 122 of file StatusAttrib.hh.

◆ estatus_iterator

typedef EdgePropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::estatus_iterator

Definition at line 114 of file StatusAttrib.hh.

◆ fstatus_iterator

typedef FacePropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::fstatus_iterator

Definition at line 118 of file StatusAttrib.hh.

◆ hestatus_iterator

typedef HalfEdgePropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::hestatus_iterator

Definition at line 116 of file StatusAttrib.hh.

◆ hfstatus_iterator

typedef HalfFacePropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::hfstatus_iterator

Definition at line 120 of file StatusAttrib.hh.

◆ vstatus_iterator

typedef VertexPropertyT<OpenVolumeMeshStatus>::iterator OpenVolumeMesh::StatusAttrib::vstatus_iterator

Definition at line 112 of file StatusAttrib.hh.

Constructor & Destructor Documentation

◆ StatusAttrib()

OpenVolumeMesh::StatusAttrib::StatusAttrib ( TopologyKernel _kernel)
explicit

Definition at line 45 of file StatusAttrib.cc.

◆ ~StatusAttrib()

OpenVolumeMesh::StatusAttrib::~StatusAttrib ( )

Definition at line 59 of file StatusAttrib.cc.

Member Function Documentation

◆ cstatus_begin() [1/2]

CellPropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::cstatus_begin ( )
inline

Definition at line 193 of file StatusAttrib.hh.

◆ cstatus_begin() [2/2]

CellPropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::cstatus_begin ( ) const
inline

Definition at line 190 of file StatusAttrib.hh.

◆ cstatus_end() [1/2]

CellPropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::cstatus_end ( )
inline

Definition at line 199 of file StatusAttrib.hh.

◆ cstatus_end() [2/2]

CellPropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::cstatus_end ( ) const
inline

Definition at line 196 of file StatusAttrib.hh.

◆ estatus_begin() [1/2]

EdgePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::estatus_begin ( )
inline

Definition at line 141 of file StatusAttrib.hh.

◆ estatus_begin() [2/2]

EdgePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::estatus_begin ( ) const
inline

Definition at line 138 of file StatusAttrib.hh.

◆ estatus_end() [1/2]

EdgePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::estatus_end ( )
inline

Definition at line 147 of file StatusAttrib.hh.

◆ estatus_end() [2/2]

EdgePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::estatus_end ( ) const
inline

Definition at line 144 of file StatusAttrib.hh.

◆ fstatus_begin() [1/2]

FacePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::fstatus_begin ( )
inline

Definition at line 167 of file StatusAttrib.hh.

◆ fstatus_begin() [2/2]

FacePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::fstatus_begin ( ) const
inline

Definition at line 164 of file StatusAttrib.hh.

◆ fstatus_end() [1/2]

FacePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::fstatus_end ( )
inline

Definition at line 173 of file StatusAttrib.hh.

◆ fstatus_end() [2/2]

FacePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::fstatus_end ( ) const
inline

Definition at line 170 of file StatusAttrib.hh.

◆ 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

Definition at line 147 of file StatusAttrib.cc.

◆ 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

Definition at line 50 of file StatusAttribT_impl.hh.

◆ hestatus_begin() [1/2]

HalfEdgePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::hestatus_begin ( )
inline

Definition at line 154 of file StatusAttrib.hh.

◆ hestatus_begin() [2/2]

HalfEdgePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::hestatus_begin ( ) const
inline

Definition at line 151 of file StatusAttrib.hh.

◆ hestatus_end() [1/2]

HalfEdgePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::hestatus_end ( )
inline

Definition at line 160 of file StatusAttrib.hh.

◆ hestatus_end() [2/2]

HalfEdgePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::hestatus_end ( ) const
inline

Definition at line 157 of file StatusAttrib.hh.

◆ hfstatus_begin() [1/2]

HalfFacePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::hfstatus_begin ( )
inline

Definition at line 180 of file StatusAttrib.hh.

◆ hfstatus_begin() [2/2]

HalfFacePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::hfstatus_begin ( ) const
inline

Definition at line 177 of file StatusAttrib.hh.

◆ hfstatus_end() [1/2]

HalfFacePropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::hfstatus_end ( )
inline

Definition at line 186 of file StatusAttrib.hh.

◆ hfstatus_end() [2/2]

HalfFacePropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::hfstatus_end ( ) const
inline

Definition at line 183 of file StatusAttrib.hh.

◆ mark_higher_dim_entities()

void OpenVolumeMesh::StatusAttrib::mark_higher_dim_entities ( )
private

Definition at line 65 of file StatusAttrib.cc.

◆ mesh_status() [1/2]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::mesh_status ( )
inline

Definition at line 106 of file StatusAttrib.hh.

◆ mesh_status() [2/2]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::mesh_status ( ) const
inline

Definition at line 101 of file StatusAttrib.hh.

◆ operator[]() [1/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const CellHandle _h)
inline

Definition at line 97 of file StatusAttrib.hh.

◆ operator[]() [2/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const CellHandle _h) const
inline

Definition at line 93 of file StatusAttrib.hh.

◆ operator[]() [3/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const EdgeHandle _h)
inline

Definition at line 65 of file StatusAttrib.hh.

◆ operator[]() [4/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const EdgeHandle _h) const
inline

Definition at line 61 of file StatusAttrib.hh.

◆ operator[]() [5/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const FaceHandle _h)
inline

Definition at line 81 of file StatusAttrib.hh.

◆ operator[]() [6/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const FaceHandle _h) const
inline

Definition at line 77 of file StatusAttrib.hh.

◆ operator[]() [7/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const HalfEdgeHandle _h)
inline

Definition at line 73 of file StatusAttrib.hh.

◆ operator[]() [8/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const HalfEdgeHandle _h) const
inline

Definition at line 69 of file StatusAttrib.hh.

◆ operator[]() [9/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const HalfFaceHandle _h)
inline

Definition at line 89 of file StatusAttrib.hh.

◆ operator[]() [10/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const HalfFaceHandle _h) const
inline

Definition at line 85 of file StatusAttrib.hh.

◆ operator[]() [11/12]

OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const VertexHandle _h)
inline

Definition at line 57 of file StatusAttrib.hh.

◆ operator[]() [12/12]

const OpenVolumeMeshStatus & OpenVolumeMesh::StatusAttrib::operator[] ( const VertexHandle _h) const
inline

Definition at line 53 of file StatusAttrib.hh.

◆ vstatus_begin() [1/2]

VertexPropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::vstatus_begin ( )
inline

Definition at line 128 of file StatusAttrib.hh.

◆ vstatus_begin() [2/2]

VertexPropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::vstatus_begin ( ) const
inline

Definition at line 125 of file StatusAttrib.hh.

◆ vstatus_end() [1/2]

VertexPropertyT< OpenVolumeMeshStatus >::iterator OpenVolumeMesh::StatusAttrib::vstatus_end ( )
inline

Definition at line 134 of file StatusAttrib.hh.

◆ vstatus_end() [2/2]

VertexPropertyT< OpenVolumeMeshStatus >::const_iterator OpenVolumeMesh::StatusAttrib::vstatus_end ( ) const
inline

Definition at line 131 of file StatusAttrib.hh.

Member Data Documentation

◆ c_status_

CellPropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::c_status_
private

Definition at line 267 of file StatusAttrib.hh.

◆ e_status_

EdgePropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::e_status_
private

Definition at line 263 of file StatusAttrib.hh.

◆ f_status_

FacePropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::f_status_
private

Definition at line 265 of file StatusAttrib.hh.

◆ he_status_

HalfEdgePropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::he_status_
private

Definition at line 264 of file StatusAttrib.hh.

◆ hf_status_

HalfFacePropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::hf_status_
private

Definition at line 266 of file StatusAttrib.hh.

◆ kernel_

TopologyKernel* OpenVolumeMesh::StatusAttrib::kernel_
private

Definition at line 260 of file StatusAttrib.hh.

◆ m_status_

MeshPropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::m_status_
private

Definition at line 268 of file StatusAttrib.hh.

◆ v_status_

VertexPropertyT<OpenVolumeMeshStatus> OpenVolumeMesh::StatusAttrib::v_status_
private

Definition at line 262 of file StatusAttrib.hh.


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