17 #ifndef OBJECT_DETECTION__BOUNDING_BOX_ARRAY_DISPLAY_HPP_
18 #define OBJECT_DETECTION__BOUNDING_BOX_ARRAY_DISPLAY_HPP_
20 #include <rviz_common/display.hpp>
21 #include <rviz_common/properties/color_property.hpp>
22 #include <rviz_common/properties/float_property.hpp>
23 #include <rviz_default_plugins/displays/marker/marker_common.hpp>
24 #include <rviz_default_plugins/displays/marker_array/marker_array_display.hpp>
25 #include <autoware_auto_msgs/msg/bounding_box_array.hpp>
26 #include <visibility_control.hpp>
34 namespace rviz_plugins
38 :
public rviz_common::RosTopicDisplay<autoware_auto_msgs::msg::BoundingBoxArray>
44 using Marker = visualization_msgs::msg::Marker;
49 void onInitialize()
override;
50 void load(
const rviz_common::Config & config)
override;
52 void reset()
override;
55 void updateProperty();
59 void processMessage(BoundingBoxArray::ConstSharedPtr array)
override;
61 Marker::SharedPtr get_marker(
const BoundingBox & box)
const;
63 std::unique_ptr<MarkerCommon> m_marker_common;
64 BoundingBoxArray::ConstSharedPtr msg_cache{};
65 rviz_common::properties::ColorProperty * no_label_color_property_;
66 rviz_common::properties::ColorProperty * car_color_property_;
67 rviz_common::properties::ColorProperty * pedestrian_color_property_;
68 rviz_common::properties::ColorProperty * cyclist_color_property_;
69 rviz_common::properties::ColorProperty * motorcycle_color_property_;
70 rviz_common::properties::ColorProperty * other_color_property_;
71 rviz_common::properties::FloatProperty * alpha_property_;
76 #endif // OBJECT_DETECTION__BOUNDING_BOX_ARRAY_DISPLAY_HPP_