OpenMesh
|
This class is intended to manage the lifecycle of properties. More...
#include <OpenMesh/Core/Utils/PropertyManager.hh>
Classes | |
class | Proxy |
Public Member Functions | |
PropertyManager (MeshT &mesh, const char *propname, bool existing=false) | |
Constructor. | |
void | swap (PropertyManager &rhs) |
operator Proxy () | |
PropertyManager (Proxy p) | |
PropertyManager & | operator= (Proxy p) |
void | retain (bool doRetain=true) |
Disable lifecycle management for this property. | |
PROPTYPE & | operator* () |
Access the encapsulated property. | |
const PROPTYPE & | operator* () const |
Access the encapsulated property. | |
template<typename HandleType > | |
PROPTYPE::reference | operator[] (const HandleType &handle) |
Enables convenient access to the encapsulated property. | |
template<typename HandleType > | |
PROPTYPE::const_reference | operator[] (const HandleType &handle) const |
Enables convenient access to the encapsulated property. |
Static Public Member Functions | |
static Proxy | createIfNotExists (MeshT &mesh, const char *propname) |
Create a property manager for the supplied property and mesh. |
This class is intended to manage the lifecycle of properties.
It also defines convenience operators to access the encapsulated property's value.
Usage example:
|
inline |
Constructor.
Throws an std::runtime_error
if existing
is true and no property named propname
of the appropriate property type exists.
mesh | The mesh on which to create the property. |
propname | The name of the property. |
existing | If false, a new property is created and its lifecycle is managed (i.e. the property is deleted upon destruction of the PropertyManager instance). If true, the instance merely acts as a convenience wrapper around an existing property with no lifecycle management whatsoever. |
|
inlinestatic |
Create a property manager for the supplied property and mesh.
If the property doesn't exist, it is created. In any case, lifecycle management is disabled.
|
inline |
Enables convenient access to the encapsulated property.
For a usage example see this class' documentation.
handle | A handle of the appropriate handle type. (I.e. VertexHandle for VPropHandleT , etc.) |
|
inline |
Enables convenient access to the encapsulated property.
For a usage example see this class' documentation.
handle | A handle of the appropriate handle type. (I.e. VertexHandle for VPropHandleT , etc.) |
|
inline |
Disable lifecycle management for this property.
If this method is called, the encapsulated property will not be deleted upon destruction of the PropertyManager instance.