1 #ifndef STATE_PUBLISHER_ROS2TOPIC_H 2 #define STATE_PUBLISHER_ROS2TOPIC_H 7 #include <unordered_set> 9 #include <rclcpp/rclcpp.hpp> 10 #include <rclcpp/publisher.hpp> 11 #include <rosbag2_storage/serialized_bag_message.hpp> 17 #include "ros2_parser.h" 20 using MessageRefPtr = std::shared_ptr<rosbag2_storage::SerializedBagMessage>;
26 Q_PLUGIN_METADATA(IID
"facontidavide.PlotJuggler3.StatePublisher")
36 const char*
name()
const override 38 return "ROS2 Topic Re-Publisher";
48 void play(
double interval)
override;
59 std::unique_ptr<rclcpp::executors::MultiThreadedExecutor>
_executor;
60 std::shared_ptr<rclcpp::Node>
_node;
67 std::unordered_map<std::string, std::shared_ptr<GenericPublisher>>
_publishers;
86 #endif // STATE_PUBLISHER_ROS2TOPIC_H const char * name() const override
void updateState(double current_time) override
std::unordered_map< std::string, std::shared_ptr< GenericPublisher > > _publishers
void play(double interval) override
std::unordered_map< std::string, bool > _topics_to_publish
std::shared_ptr< tf2_ros::TransformBroadcaster > _tf_broadcaster
std::shared_ptr< rosbag2_storage::SerializedBagMessage > MessageRefPtr
std::unique_ptr< rclcpp::executors::MultiThreadedExecutor > _executor
void setEnabled(bool enabled) override
std::shared_ptr< tf2_ros::StaticTransformBroadcaster > _tf_static_broadcaster
virtual ~TopicPublisherROS2() override
std::vector< TopicInfo > _topics_info
std::shared_ptr< rclcpp::Context > _context
const std::vector< QAction * > & availableActions() override
void broadcastTF(double current_time)
QAction * _select_topics_to_publish
std::vector< QAction * > _available_actions
bool enabled() const override
std::shared_ptr< rclcpp::Node > _node