From bc07edf159cb54cdcf4c717a3bf5c02696e1d3c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20=C3=89corchard?= Date: Mon, 22 Jul 2024 16:18:53 +0200 Subject: [PATCH] Copy planning scene predicates in the copy constructor (#2858) --- moveit_core/planning_scene/src/planning_scene.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/moveit_core/planning_scene/src/planning_scene.cpp b/moveit_core/planning_scene/src/planning_scene.cpp index eaffc31d42..816bad2f8b 100644 --- a/moveit_core/planning_scene/src/planning_scene.cpp +++ b/moveit_core/planning_scene/src/planning_scene.cpp @@ -210,6 +210,10 @@ PlanningScene::PlanningScene(const PlanningSceneConstPtr& parent) : parent_(pare robot_model_ = parent_->robot_model_; + setStateFeasibilityPredicate(parent->getStateFeasibilityPredicate()); + setMotionFeasibilityPredicate(parent->getMotionFeasibilityPredicate()); + setCollisionObjectUpdateCallback(parent_->current_world_object_update_callback_); + // maintain a separate world. Copy on write ensures that most of the object // info is shared until it is modified. world_ = std::make_shared(*parent_->world_); @@ -1204,6 +1208,8 @@ void PlanningScene::decoupleParent() } } + setCollisionObjectUpdateCallback(nullptr); + parent_.reset(); }