From 92f9d783e002c9aed55f60b0a634fe4e69ade964 Mon Sep 17 00:00:00 2001 From: Benjamin Perseghetti Date: Mon, 17 Jun 2024 19:13:41 -0400 Subject: [PATCH] Backport: Adding cone primitives. (#621) Signed-off-by: Benjamin Perseghetti --- src/plugins/marker_manager/MarkerManager.cc | 2 ++ .../transport_scene_manager/TransportSceneManager.cc | 7 +++++++ 2 files changed, 9 insertions(+) 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();