81 private_executor_->cancel();
82 if (private_executor_thread_.joinable())
83 private_executor_thread_.join();
84 private_executor_.reset();
92#if RCLCPP_VERSION_GTE(30, 0, 0)
93 void update(std::chrono::nanoseconds wall_dt, std::chrono::nanoseconds ros_dt)
override;
96 void update(
float wall_dt,
float ros_dt)
override;
99 void reset()
override;
117 void publishFeedback(visualization_msgs::msg::InteractiveMarkerFeedback& feedback);
118 void onStatusUpdate(rviz_common::properties::StatusProperty::Level level,
const std::string& name,
119 const std::string& text);
129 void initializeCallback(
const visualization_msgs::srv::GetInteractiveMarkers::Response::SharedPtr& );
132 void updateCallback(
const visualization_msgs::msg::InteractiveMarkerUpdate::ConstSharedPtr& msg);
135 void resetCallback();
138 void statusCallback(interactive_markers::InteractiveMarkerClient::Status ,
const std::string& message);
140 void updateMarkers(
const std::vector<visualization_msgs::msg::InteractiveMarker>& markers);
142 void updatePoses(
const std::vector<visualization_msgs::msg::InteractiveMarkerPose>& marker_poses);
145 void eraseAllMarkers();
151 void eraseMarkers(
const std::vector<std::string>& names);
153 std::map<std::string, InteractiveMarker::SharedPtr> interactive_markers_map_;
156 InteractiveMarkerNamespaceProperty* interactive_marker_namespace_property_;
157 rviz_common::properties::BoolProperty* show_descriptions_property_;
158 rviz_common::properties::BoolProperty* show_axes_property_;
159 rviz_common::properties::BoolProperty* show_visual_aids_property_;
160 rviz_common::properties::BoolProperty* enable_transparency_property_;
162 std::unique_ptr<interactive_markers::InteractiveMarkerClient> interactive_marker_client_;
164 std::shared_ptr<rclcpp::Node> pnode_;
165 std::shared_ptr<rclcpp::executors::SingleThreadedExecutor> private_executor_;
166 std::thread private_executor_thread_;