From e8fd8bce8211d1fe09fc99acb29fdf46c3b7a54a Mon Sep 17 00:00:00 2001 From: Martin Heistermann <git@mheistermann.de> Date: Mon, 20 Jun 2022 16:15:34 +0200 Subject: [PATCH] VMO: offer recreateProperties for use with mesh assignment --- ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh | 5 +++++ ObjectTypes/VolumeMeshObject/VolumeMeshObjectT_impl.hh | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh b/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh index f9584ce..741de1b 100644 --- a/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh +++ b/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh @@ -115,6 +115,11 @@ public: MeshT* mesh(); const MeshT* mesh() const; + /// re-create mesh attribute objects. This us useful after + /// using mesh assignment to use the newly assigned properties instead + /// of the old stale ones. + void recreateAttributes(); + /** return a full copy of this object ( All scenegraph nodes will be created ) * but the object will not be a part of the object tree. */ diff --git a/ObjectTypes/VolumeMeshObject/VolumeMeshObjectT_impl.hh b/ObjectTypes/VolumeMeshObject/VolumeMeshObjectT_impl.hh index ba16fa0..3c948a5 100644 --- a/ObjectTypes/VolumeMeshObject/VolumeMeshObjectT_impl.hh +++ b/ObjectTypes/VolumeMeshObject/VolumeMeshObjectT_impl.hh @@ -98,6 +98,16 @@ VolumeMeshObject<MeshT>::VolumeMeshObject(DataType _typeId) : init(); } + +template<class MeshT> +void VolumeMeshObject<MeshT>::recreateAttributes() +{ + statusAttrib_ = StatusAttrib(*mesh_); + colorAttrib_ = ColorAttrib(*mesh_); + normalAttrib_ = NormalAttrib(*mesh_); + texcoordAttrib_ = TexCoordAttrib(*mesh_); +} + template<class MeshT> VolumeMeshObject<MeshT>::~VolumeMeshObject() { -- GitLab