Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rviz panel: Don't add object marker if the wrong tab is selected #454

Merged
merged 3 commits into from Mar 23, 2017

Conversation

Projects
None yet
2 participants
@v4hn
Copy link
Member

commented Mar 1, 2017

The panel maintains an interactive marker by which the user can move
objects around in the planning scene.
Previously, this marker was created/updated whenever an object
was selected in the "Scene Objects" tab and geometry updates are received.

However, the marker should only be visible if the user actually
wants to manipulate the selected object, i.e. the correct tab is actually
active right now.

Because of the broken condition, the marker reappeared after
the user had selected an object (the marker appeared), selected a different tab
(the marker disappears), and the panel's planning scene monitor
received a geometry update afterwards. (This includes TRANSFORM updates that
are triggered by almost every interaction with move_group)

This should be cherry-picked to j/k.

Here's a screenshot that illustrates the glitch. Notice that the marker is active although the "Manipulation" tab is selected.

wrong_im

rviz panel: Don't add object marker if the wrong tab is selected
The panel maintains an interactive marker by which the user can move
objects around in the planning scene.
Previously, this marker was created/updated whenever an object
was selected in the "Scene Objects" tab and geometry updates are received.

However, the marker should only be visible if the user actually
*wants* to manipulate the selected object, i.e. the correct tab is actually
active right now.

Because of the broken condition, the marker reappeared after
the user had selected an object (the marker appeared), selected a different tab
(the marker disappears), and the panel's planning scene monitor
received a geometry update afterwards. (This includes TRANSFORM updates that
are triggered by almost every interaction with move_group)
@davetcoleman
Copy link
Member

left a comment

Good idea!

@@ -268,7 +268,7 @@ void MotionPlanningFrame::selectedCollisionObjectChanged()
else
ui_->object_status->setText("ERROR: '" + sel[0]->text() + "' should be a collision object but it is not");
}
if (update_scene_marker)
if (update_scene_marker && ui_->tabWidget->tabText(ui_->tabWidget->currentIndex()) == "Scene Objects")

This comment has been minimized.

Copy link
@davetcoleman

davetcoleman Mar 11, 2017

Member

this string should be a static const variable in the class, in case it is ever renamed elsewhere

This comment has been minimized.

Copy link
@v4hn

v4hn Mar 20, 2017

Author Member

I stayed with the direct comparison because it was already in the code. But sure, we can refactor this too.
I added constants for all the titles and changed the required places.

@v4hn v4hn merged commit c5a17fe into ros-planning:indigo-devel Mar 23, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@v4hn

This comment has been minimized.

Copy link
Member Author

commented Mar 23, 2017

picked to j/k.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.