diff --git a/visualization/motion_planning_tasks/src/task_display.cpp b/visualization/motion_planning_tasks/src/task_display.cpp index 656cb864..4a73dd43 100644 --- a/visualization/motion_planning_tasks/src/task_display.cpp +++ b/visualization/motion_planning_tasks/src/task_display.cpp @@ -81,6 +81,10 @@ TaskDisplay::TaskDisplay() : Display() new rviz::Property("Tasks", QVariant(), "Tasks received on monitored topic", this); } +TaskDisplay::~TaskDisplay() +{ +} + void TaskDisplay::onInitialize() { Display::onInitialize(); diff --git a/visualization/motion_planning_tasks/src/task_display.h b/visualization/motion_planning_tasks/src/task_display.h index bb1cd8f7..5158cc32 100644 --- a/visualization/motion_planning_tasks/src/task_display.h +++ b/visualization/motion_planning_tasks/src/task_display.h @@ -63,8 +63,8 @@ namespace moveit_rviz_plugin { MOVEIT_CLASS_FORWARD(DisplaySolution) -MOVEIT_CLASS_FORWARD(TaskSolutionVisualization) -MOVEIT_CLASS_FORWARD(TaskListModel) +class TaskSolutionVisualization; +class TaskListModel; class TaskDisplay : public rviz::Display { @@ -72,6 +72,7 @@ class TaskDisplay : public rviz::Display public: TaskDisplay(); + ~TaskDisplay(); void loadRobotModel(); @@ -84,7 +85,7 @@ public: virtual void onDisable(); void setName(const QString& name); - TaskListModelPtr getTaskListModel() const { return task_list_model_; } + TaskListModel& getTaskListModel() { return *task_list_model_; } void showTrajectory(const DisplaySolutionPtr& s) const; private Q_SLOTS: @@ -111,9 +112,9 @@ protected: moveit::tools::JobQueue mainloop_jobs_; // The trajectory playback component - TaskSolutionVisualizationPtr trajectory_visual_; + std::unique_ptr trajectory_visual_; // The TaskListModel storing actual task and solution data - TaskListModelPtr task_list_model_; + std::unique_ptr task_list_model_; // Load robot model rdf_loader::RDFLoaderPtr rdf_loader_; diff --git a/visualization/motion_planning_tasks/src/task_panel.cpp b/visualization/motion_planning_tasks/src/task_panel.cpp index a2cb74f1..2cffd95f 100644 --- a/visualization/motion_planning_tasks/src/task_panel.cpp +++ b/visualization/motion_planning_tasks/src/task_panel.cpp @@ -162,7 +162,7 @@ void TaskPanel::addTask() display->initialize(vis_manager_); display->setEnabled(true); - task_list_model = display->getTaskListModel().get(); + task_list_model = &display->getTaskListModel(); } else task_list_model = d_ptr->getTaskListModel(current).first;