statepublisher_rostopic.h
Go to the documentation of this file.
1 #ifndef STATE_PUBLISHER_ROSTOPIC_H
2 #define STATE_PUBLISHER_ROSTOPIC_H
3 
4 #include <QObject>
5 #include <QtPlugin>
6 #include <map>
7 #include <ros/ros.h>
13 #include <rosbag/bag.h>
14 
16 {
17  Q_OBJECT
18  Q_PLUGIN_METADATA(IID "facontidavide.PlotJuggler3.StatePublisher")
19  Q_INTERFACES(PJ::StatePublisher)
20 
21 public:
23 
24  virtual ~TopicPublisherROS() override;
25 
26  virtual void updateState(double current_time) override;
27 
28  virtual const char* name() const override
29  {
30  return "ROS Topic Re-Publisher";
31  }
32 
33  virtual bool enabled() const override
34  {
35  return _enabled;
36  }
37 
38  virtual void play(double interval) override;
39 
40  const std::vector<QAction*>& availableActions() override;
41 
42 public slots:
43  virtual void setEnabled(bool enabled) override;
44 
45  void filterDialog(bool autoconfirm);
46 
47 private:
48  void broadcastTF(double current_time);
49 
50  std::map<std::string, ros::Publisher> _publishers;
51 
52  bool _enabled;
53 
55 
57 
58  std::shared_ptr<tf2_ros::TransformBroadcaster> _tf_broadcaster;
59  std::shared_ptr<tf2_ros::StaticTransformBroadcaster> _tf_static_broadcaster;
60 
62 
64 
65  std::unordered_map<std::string, bool> _topics_to_publish;
66 
67  bool toPublish(const std::string& topic_name);
68 
69  double previous_time;
70 
72 
73  std::vector<QAction*> _available_actions;
74 
75  void publishAnyMsg(const rosbag::MessageInstance& msg_instance);
76 };
77 
78 #endif // DATALOAD_CSV_H
ros::Publisher
TopicPublisherROS::filterDialog
void filterDialog(bool autoconfirm)
Definition: statepublisher_rostopic.cpp:96
boost::shared_ptr< NodeHandle >
TopicPublisherROS::_tf_broadcaster
std::shared_ptr< tf2_ros::TransformBroadcaster > _tf_broadcaster
Definition: statepublisher_rostopic.h:58
TopicPublisherROS::name
virtual const char * name() const override
Definition: statepublisher_rostopic.h:28
rosbag::MessageInstance
ros.h
TopicPublisherROS::_clock_publisher
ros::Publisher _clock_publisher
Definition: statepublisher_rostopic.h:61
ros_introspection.hpp
TopicPublisherROS::_enabled
bool _enabled
Definition: statepublisher_rostopic.h:52
TopicPublisherROS::availableActions
const std::vector< QAction * > & availableActions() override
Definition: statepublisher_rostopic.cpp:46
TopicPublisherROS::enabled
virtual bool enabled() const override
Definition: statepublisher_rostopic.h:33
TopicPublisherROS::broadcastTF
void broadcastTF(double current_time)
Definition: statepublisher_rostopic.cpp:172
bag.h
transform_broadcaster.h
TopicPublisherROS::_node
ros::NodeHandlePtr _node
Definition: statepublisher_rostopic.h:54
TopicPublisherROS::_tf_static_broadcaster
std::shared_ptr< tf2_ros::StaticTransformBroadcaster > _tf_static_broadcaster
Definition: statepublisher_rostopic.h:59
TopicPublisherROS::TopicPublisherROS
TopicPublisherROS()
Definition: statepublisher_rostopic.cpp:26
TopicPublisherROS::updateState
virtual void updateState(double current_time) override
Definition: statepublisher_rostopic.cpp:336
TopicPublisherROS
Definition: statepublisher_rostopic.h:15
TopicPublisherROS::~TopicPublisherROS
virtual ~TopicPublisherROS() override
Definition: statepublisher_rostopic.cpp:41
statepublisher_base.h
TopicPublisherROS::_publish_clock
bool _publish_clock
Definition: statepublisher_rostopic.h:56
TopicPublisherROS::_topics_to_publish
std::unordered_map< std::string, bool > _topics_to_publish
Definition: statepublisher_rostopic.h:65
TopicPublisherROS::previous_time
double previous_time
Definition: statepublisher_rostopic.h:69
TopicPublisherROS::setEnabled
virtual void setEnabled(bool enabled) override
Definition: statepublisher_rostopic.cpp:51
TopicPublisherROS::publishAnyMsg
void publishAnyMsg(const rosbag::MessageInstance &msg_instance)
Definition: statepublisher_rostopic.cpp:287
static_transform_broadcaster.h
TopicPublisherROS::_previous_play_index
int _previous_play_index
Definition: statepublisher_rostopic.h:71
TopicPublisherROS::_publishers
std::map< std::string, ros::Publisher > _publishers
Definition: statepublisher_rostopic.h:50
shape_shifter_factory.hpp
PJ::StatePublisher
TopicPublisherROS::play
virtual void play(double interval) override
Definition: statepublisher_rostopic.cpp:408
TopicPublisherROS::_available_actions
std::vector< QAction * > _available_actions
Definition: statepublisher_rostopic.h:73
TopicPublisherROS::_select_topics_to_publish
QAction * _select_topics_to_publish
Definition: statepublisher_rostopic.h:63
TopicPublisherROS::toPublish
bool toPublish(const std::string &topic_name)
Definition: statepublisher_rostopic.cpp:274


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Sat May 24 2025 02:24:01