|
| PropertyManager (MeshT &mesh, const char *propname, bool existing=false) |
| Constructor. More...
|
|
void | swap (PropertyManager &rhs) |
|
bool | isValid () const |
|
| operator bool () const |
|
const PROPTYPE & | getRawProperty () const |
|
const std::string & | getName () const |
|
MeshT & | getMesh () const |
|
| operator Proxy () |
|
Proxy | move () |
|
| PropertyManager (Proxy p) |
|
PropertyManager & | operator= (Proxy p) |
|
Proxy | duplicate (const char *clone_name) |
|
void | retain (bool doRetain=true) |
| Disable lifecycle management for this property. More...
|
|
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. More...
|
|
template<typename HandleType > |
PROPTYPE::const_reference | operator[] (const HandleType &handle) const |
| Enables convenient access to the encapsulated property. More...
|
|
template<typename HandleTypeIterator > |
void | set_range (HandleTypeIterator begin, HandleTypeIterator end, typename PROPTYPE::const_reference value) |
| Conveniently set the property for an entire range of values. More...
|
|
template<typename PROPTYPE, typename MeshT>
class OpenMesh::PropertyManager< PROPTYPE, MeshT >
This class is intended to manage the lifecycle of properties.
It also defines convenience operators to access the encapsulated property's value.
Usage example:
TriMesh mesh;
PropertyManager<VPropHandleT<bool>, MeshT> visited(mesh, "visited.plugin-example.i8.informatik.rwth-aachen.de");
for (TriMesh::VertexIter vh_it = mesh.begin(); ... ; ...) {
if (!visited[*vh_it]) {
visitComponent(mesh, *vh_it, visited);
}
}