diff --git a/src/plugins/marker_manager/MarkerManager.cc b/src/plugins/marker_manager/MarkerManager.cc index c78d5d990..42db173a8 100644 --- a/src/plugins/marker_manager/MarkerManager.cc +++ b/src/plugins/marker_manager/MarkerManager.cc @@ -610,6 +610,8 @@ gz::rendering::MarkerType MarkerManagerPrivate::MsgToType( return gz::rendering::MarkerType::MT_BOX; case gz::msgs::Marker::CAPSULE: return gz::rendering::MarkerType::MT_CAPSULE; + case gz::msgs::Marker::CONE: + return gz::rendering::MarkerType::MT_CONE; case gz::msgs::Marker::CYLINDER: return gz::rendering::MarkerType::MT_CYLINDER; case gz::msgs::Marker::LINE_STRIP: diff --git a/src/plugins/transport_scene_manager/TransportSceneManager.cc b/src/plugins/transport_scene_manager/TransportSceneManager.cc index 735ed5ee8..a38de6b0f 100644 --- a/src/plugins/transport_scene_manager/TransportSceneManager.cc +++ b/src/plugins/transport_scene_manager/TransportSceneManager.cc @@ -687,6 +687,13 @@ rendering::GeometryPtr TransportSceneManagerPrivate::LoadGeometry( if (_msg.box().has_size()) scale = msgs::Convert(_msg.box().size()); } + else if (_msg.has_cone()) + { + geom = this->scene->CreateCone(); + scale.X() = _msg.cone().radius() * 2; + scale.Y() = scale.X(); + scale.Z() = _msg.cone().length(); + } else if (_msg.has_cylinder()) { geom = this->scene->CreateCylinder();