|
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) |
| bool | isValid () const |
| operator bool () const | |
| const PROPTYPE & | getRawProperty () const |
| 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 bool | propertyExists (MeshT &mesh, const char *propname) |
| 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.