Skip to content

Commit 6b74136

Browse files
committed
markers: hide on transform() errors
1 parent a604948 commit 6b74136

8 files changed

+49
-15
lines changed

src/rviz/default_plugin/markers/arrow_marker.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,13 @@ void ArrowMarker::onNewMessage(const MarkerConstPtr& /*old_message*/, const Mar
7878

7979
Ogre::Vector3 pos, scale;
8080
Ogre::Quaternion orient;
81-
transform(new_message, pos, orient, scale);
81+
if (!transform(new_message, pos, orient, scale))
82+
{
83+
scene_node_->setVisible(false);
84+
return;
85+
}
86+
87+
scene_node_->setVisible(true);
8288
setPosition(pos);
8389
setOrientation( orient );
8490

src/rviz/default_plugin/markers/line_list_marker.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,13 @@ void LineListMarker::onNewMessage(const MarkerConstPtr& /*old_message*/, const
6363

6464
Ogre::Vector3 pos, scale;
6565
Ogre::Quaternion orient;
66-
transform(new_message, pos, orient, scale);
66+
if (!transform(new_message, pos, orient, scale))
67+
{
68+
scene_node_->setVisible(false);
69+
return;
70+
}
6771

72+
scene_node_->setVisible(true);
6873
setPosition(pos);
6974
setOrientation(orient);
7075
lines_->setScale(scale);

src/rviz/default_plugin/markers/line_strip_marker.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,13 @@ void LineStripMarker::onNewMessage(const MarkerConstPtr& /*old_message*/, const
6565

6666
Ogre::Vector3 pos, scale;
6767
Ogre::Quaternion orient;
68-
transform(new_message, pos, orient, scale);
68+
if (!transform(new_message, pos, orient, scale))
69+
{
70+
scene_node_->setVisible(false);
71+
return;
72+
}
6973

74+
scene_node_->setVisible(true);
7075
setPosition(pos);
7176
setOrientation(orient);
7277
lines_->setScale(scale);

src/rviz/default_plugin/markers/mesh_resource_marker.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,11 @@ void MeshResourceMarker::onNewMessage(const MarkerConstPtr& old_message, const M
232232

233233
Ogre::Vector3 pos, scale;
234234
Ogre::Quaternion orient;
235-
transform(new_message, pos, orient, scale);
235+
if (!transform(new_message, pos, orient, scale))
236+
{
237+
scene_node_->setVisible(false);
238+
return;
239+
}
236240

237241
scene_node_->setVisible(true);
238242
setPosition(pos);

src/rviz/default_plugin/markers/points_marker.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,13 @@ void PointsMarker::onNewMessage(const MarkerConstPtr& /*old_message*/, const Ma
6868

6969
Ogre::Vector3 pos, scale;
7070
Ogre::Quaternion orient;
71-
transform(new_message, pos, orient, scale);
71+
if (!transform(new_message, pos, orient, scale))
72+
{
73+
scene_node_->setVisible(false);
74+
return;
75+
}
76+
77+
scene_node_->setVisible(true);
7278

7379
switch (new_message->type)
7480
{

src/rviz/default_plugin/markers/shape_marker.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,12 @@ void ShapeMarker::onNewMessage( const MarkerConstPtr& old_message,
8282
Ogre::Vector3 pos, scale, scale_correct;
8383
Ogre::Quaternion orient;
8484
if (!transform(new_message, pos, orient, scale))
85+
{
86+
scene_node_->setVisible(false);
8587
return;
88+
}
8689

90+
scene_node_->setVisible(true);
8791
setPosition(pos);
8892
setOrientation( orient * Ogre::Quaternion( Ogre::Degree(90), Ogre::Vector3(1,0,0) ) );
8993

src/rviz/default_plugin/markers/text_view_facing_marker.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,13 @@ void TextViewFacingMarker::onNewMessage(const MarkerConstPtr& /*old_message*/,
6969

7070
Ogre::Vector3 pos, scale;
7171
Ogre::Quaternion orient;
72-
transform(new_message, pos, orient, scale);
72+
if (!transform(new_message, pos, orient, scale))
73+
{
74+
scene_node_->setVisible(false);
75+
return;
76+
}
7377

78+
scene_node_->setVisible(true);
7479
setPosition(pos);
7580
text_->setCharacterHeight(new_message->scale.z);
7681
text_->setColor(Ogre::ColourValue(new_message->color.r, new_message->color.g, new_message->color.b, new_message->color.a));

src/rviz/default_plugin/markers/triangle_list_marker.cpp

+8-9
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ void TriangleListMarker::onNewMessage(const MarkerConstPtr& old_message, const M
6666
{
6767
ROS_ASSERT(new_message->type == visualization_msgs::Marker::TRIANGLE_LIST);
6868

69+
Ogre::Vector3 pos, scale;
70+
Ogre::Quaternion orient;
71+
if (!transform(new_message, pos, orient, scale))
72+
{
73+
scene_node_->setVisible( false );
74+
return;
75+
}
76+
6977
size_t num_points = new_message->points.size();
7078
if( (num_points % 3) != 0 || num_points == 0 )
7179
{
@@ -95,15 +103,6 @@ void TriangleListMarker::onNewMessage(const MarkerConstPtr& old_message, const M
95103
handler_.reset( new MarkerSelectionHandler( this, MarkerID( new_message->ns, new_message->id ), context_ ));
96104
}
97105

98-
Ogre::Vector3 pos, scale;
99-
Ogre::Quaternion orient;
100-
if (!transform(new_message, pos, orient, scale))
101-
{
102-
ROS_DEBUG("Unable to transform marker message");
103-
scene_node_->setVisible( false );
104-
return;
105-
}
106-
107106
setPosition(pos);
108107
setOrientation(orient);
109108
scene_node_->setScale(scale);

0 commit comments

Comments
 (0)