fix display of attached objects

similar as in https://github.com/ros-planning/moveit/pull/1202
This commit is contained in:
Robert Haschke 2018-11-23 10:08:21 +01:00
parent cd9115483b
commit 5690d68311
2 changed files with 12 additions and 3 deletions

View File

@ -137,10 +137,11 @@ Q_SIGNALS:
void activeStageChanged(size_t);
protected:
void setVisibility(); // set visibility of main scene node
void setVisibility(); ///< set visibility of main scene node
void setVisibility(Ogre::SceneNode* node, Ogre::SceneNode* parent, bool visible);
float getStateDisplayTime();
void clearTrail();
void renderCurrentWayPoint();
void renderWayPoint(size_t index, int previous_index);
void renderPlanningScene(const planning_scene::PlanningSceneConstPtr &scene);

View File

@ -305,6 +305,7 @@ void TaskSolutionVisualization::changedRobotAlpha()
void TaskSolutionVisualization::changedRobotVisualEnabled()
{
robot_render_->setVisualVisible(robot_visual_enabled_property_->getBool());
renderCurrentWayPoint();
for (std::size_t i = 0; i < trail_.size(); ++i)
trail_[i]->setVisualVisible(robot_visual_enabled_property_->getBool());
}
@ -312,6 +313,7 @@ void TaskSolutionVisualization::changedRobotVisualEnabled()
void TaskSolutionVisualization::changedRobotCollisionEnabled()
{
robot_render_->setCollisionVisible(robot_collision_enabled_property_->getBool());
renderCurrentWayPoint();
for (std::size_t i = 0; i < trail_.size(); ++i)
trail_[i]->setCollisionVisible(robot_collision_enabled_property_->getBool());
}
@ -352,7 +354,7 @@ void TaskSolutionVisualization::onAllAtOnceChanged(bool all_at_once)
if (all_at_once)
addMarkers(displaying_solution_);
else if (current_state_ >= 0)
renderWayPoint(current_state_, -1);
renderCurrentWayPoint();
}
float TaskSolutionVisualization::getStateDisplayTime()
@ -471,6 +473,12 @@ void TaskSolutionVisualization::update(float wall_dt, float ros_dt)
setVisibility();
}
void TaskSolutionVisualization::renderCurrentWayPoint()
{
if (displaying_solution_)
renderWayPoint(current_state_, -1);
}
void TaskSolutionVisualization::renderWayPoint(size_t index, int previous_index)
{
assert(index >= 0);
@ -591,7 +599,7 @@ void TaskSolutionVisualization::enabledRobotColor()
void TaskSolutionVisualization::changedAttachedBodyColor()
{
renderCurrentWayPoint();
}
void TaskSolutionVisualization::unsetRobotColor(rviz::Robot* robot)