dataload_ros.h
Go to the documentation of this file.
1 #ifndef DATALOAD_ROS_H
2 #define DATALOAD_ROS_H
3 
4 #include <QObject>
5 #include <QtPlugin>
6 
7 #include <ros/ros.h>
8 #include <rosbag/bag.h>
9 
13 
15 {
16  Q_OBJECT
17  Q_PLUGIN_METADATA(IID "facontidavide.PlotJuggler3.DataLoader"
18  "../dataloader.json")
19  Q_INTERFACES(PJ::DataLoader)
20 
21 public:
22  DataLoadROS();
23 
24  virtual ~DataLoadROS() override;
25 
26  virtual const std::vector<const char*>& compatibleFileExtensions() const override;
27 
28  virtual bool readDataFromFile(PJ::FileLoadInfo* fileload_info,
29  PJ::PlotDataMapRef& destination) override;
30 
31  virtual const char* name() const override
32  {
33  return "DataLoad ROS bags";
34  }
35 
36  virtual bool xmlSaveState(QDomDocument& doc, QDomElement& parent_element) const override;
37 
38  virtual bool xmlLoadState(const QDomElement& parent_element) override;
39 
40 protected:
41  void loadSubstitutionRule(QStringList all_topic_names);
42 
43  std::shared_ptr<rosbag::Bag> _bag;
44 
45 private:
46  std::vector<const char*> _extensions;
47 
49 
50  std::vector<std::pair<QString, QString>> getAllTopics(const rosbag::Bag* bag, RosCompositeParser &parser);
51 };
52 
53 #endif // DATALOAD_CSV_H
std::vector< const char * > _extensions
Definition: dataload_ros.h:46
virtual bool xmlLoadState(const QDomElement &parent_element) override
virtual bool xmlSaveState(QDomDocument &doc, QDomElement &parent_element) const override
RosParserConfig _config
Definition: dataload_ros.h:48
void loadSubstitutionRule(QStringList all_topic_names)
virtual bool readDataFromFile(PJ::FileLoadInfo *fileload_info, PJ::PlotDataMapRef &destination) override
virtual const std::vector< const char * > & compatibleFileExtensions() const override
virtual const char * name() const override
Definition: dataload_ros.h:31
std::shared_ptr< rosbag::Bag > _bag
Definition: dataload_ros.h:43
std::vector< std::pair< QString, QString > > getAllTopics(const rosbag::Bag *bag, RosCompositeParser &parser)


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Fri Jun 23 2023 02:28:03