diff --git a/src/OpenMesh/Core/Utils/PropertyManager.hh b/src/OpenMesh/Core/Utils/PropertyManager.hh index 5d8cb360..6281c9cd 100644 --- a/src/OpenMesh/Core/Utils/PropertyManager.hh +++ b/src/OpenMesh/Core/Utils/PropertyManager.hh @@ -177,6 +177,13 @@ class PropertyManager { return std::move(pm); } + + PropertyManager duplicate(const char *clone_name) { + PropertyManager pm(*mesh_, clone_name, false); + pm.mesh_->property(pm.prop_) = mesh_->property(prop_); + return std::move(pm); + } + #else class Proxy { private: @@ -215,6 +222,12 @@ class PropertyManager { pm.retain(); return (Proxy)pm; } + + Proxy duplicate(const char *clone_name) { + PropertyManager pm(*mesh_, clone_name, false); + pm.mesh_->property(pm.prop_) = mesh_->property(prop_); + return (Proxy)pm; + } #endif /**