dataload_ros.h
Go to the documentation of this file.
00001 #ifndef DATALOAD_ROS_H
00002 #define DATALOAD_ROS_H
00003 
00004 #include <QObject>
00005 #include <QtPlugin>
00006 
00007 #include <ros/ros.h>
00008 #include <rosbag/bag.h>
00009 
00010 #include "PlotJuggler/dataloader_base.h"
00011 #include "../dialog_select_ros_topics.h"
00012 #include "../RosMsgParsers/ros_parser.h"
00013 
00014 class  DataLoadROS: public DataLoader
00015 {
00016     Q_OBJECT
00017     Q_PLUGIN_METADATA(IID "com.icarustechnology.PlotJuggler.DataLoader" "../dataloader.json")
00018     Q_INTERFACES(DataLoader)
00019 
00020 public:
00021     DataLoadROS();
00022 
00023     virtual const std::vector<const char*>& compatibleFileExtensions() const override;
00024 
00025     virtual bool readDataFromFile(FileLoadInfo* fileload_info, PlotDataMapRef& destination) override;
00026 
00027     virtual const char* name() const override { return "DataLoad ROS bags"; }
00028 
00029     virtual ~DataLoadROS() override;
00030 
00031     virtual bool xmlSaveState(QDomDocument &doc, QDomElement &parent_element) const override;
00032 
00033     virtual bool xmlLoadState(const QDomElement &parent_element ) override;
00034 
00035 protected:
00036     void loadSubstitutionRule(QStringList all_topic_names);
00037     std::shared_ptr<rosbag::Bag> _bag;
00038 
00039 private:
00040     RosMessageParser _ros_parser;
00041 
00042     std::vector<const char*> _extensions;
00043 
00044     DialogSelectRosTopics::Configuration _config;
00045 
00046     std::vector<std::pair<QString, QString>> getAndRegisterAllTopics();
00047 
00048     void saveDefaultSettings();
00049 
00050     void loadDefaultSettings();
00051 };
00052 
00053 #endif // DATALOAD_CSV_H


plotjuggler
Author(s): Davide Faconti
autogenerated on Wed Jul 3 2019 19:28:04