15 #ifndef NAV2_RVIZ_PLUGINS__COSTMAP_COST_TOOL_HPP_
16 #define NAV2_RVIZ_PLUGINS__COSTMAP_COST_TOOL_HPP_
20 #include <nav2_msgs/srv/get_costs.hpp>
21 #include <rviz_common/ros_integration/ros_node_abstraction_iface.hpp>
22 #include <rviz_common/tool.hpp>
23 #include <rviz_common/properties/bool_property.hpp>
24 #include <rviz_common/properties/qos_profile_property.hpp>
25 #include "rclcpp/client.hpp"
26 #include "rclcpp/qos.hpp"
27 #include "nav2_ros_common/service_client.hpp"
29 namespace nav2_rviz_plugins
39 void onInitialize()
override;
40 void activate()
override;
41 void deactivate()
override;
43 int processMouseEvent(rviz_common::ViewportMouseEvent & event)
override;
45 void callCostService(
float x,
float y);
47 void handleLocalCostResponse(rclcpp::Client<nav2_msgs::srv::GetCosts>::SharedFuture);
49 void handleGlobalCostResponse(rclcpp::Client<nav2_msgs::srv::GetCosts>::SharedFuture);
54 nav2::ServiceClient<nav2_msgs::srv::GetCosts>::SharedPtr local_cost_client_;
55 nav2::ServiceClient<nav2_msgs::srv::GetCosts>::SharedPtr global_cost_client_;
57 std::shared_ptr<rviz_common::ros_integration::RosNodeAbstractionIface> node_ptr_;
61 rviz_common::properties::BoolProperty * auto_deactivate_property_;
62 rviz_common::properties::QosProfileProperty * qos_profile_property_;
64 rclcpp::QoS qos_profile_;