|
orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
logreaders.h00001 #ifndef ORCALOGFACTORY_LOGREADERS_H 00002 #define ORCALOGFACTORY_LOGREADERS_H 00003 00004 #include <orcalog/logreader.h> 00005 #include <orca/camera.h> 00006 #include <orca/drivebicycle.h> 00007 #include <orca/laserscanner2d.h> 00008 #include <orca/localise2d.h> 00009 #include <orca/localise3d.h> 00010 #include <orca/power.h> 00011 #include <orca/odometry2d.h> 00012 #include <orca/odometry3d.h> 00013 #include <orca/wifi.h> 00014 #include <orca/gps.h> 00015 00016 #include "camerareader.h" 00017 00018 namespace orcalogfactory { 00019 00020 // 00021 // A collection of classes capable of reading sub-logfiles for specific 00022 // interface types. 00023 // 00024 00025 class CameraLogReader : public orcalog::LogReader 00026 { 00027 public: 00028 CameraLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00029 void read( orca::ImageDataPtr &obj ); 00030 void read( orca::CameraDescriptionPtr &obj ); 00031 void read() { orca::ImageDataPtr obj=new orca::ImageData; read(obj); } 00032 void openLogFile(); 00033 private: 00034 // alen - member class for camera log readingso we can handle jpegs 00035 CameraReader cameraReader; 00036 00037 }; 00038 00040 00041 class DriveBicycleLogReader : public orcalog::LogReader 00042 { 00043 public: 00044 DriveBicycleLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00045 void read( orca::DriveBicycleData &obj ); 00046 void read( orca::VehicleDescription &obj ); 00047 void read() { orca::DriveBicycleData obj; read(obj); } 00048 }; 00049 00051 00052 class GpsLogReader : public orcalog::LogReader 00053 { 00054 public: 00055 GpsLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00056 void read( orca::GpsData &obj ); 00057 void read( orca::GpsDescription &obj ); 00058 void read() { orca::GpsData obj; read(obj); } 00059 }; 00060 00062 00063 class LaserScanner2dLogReader : public orcalog::LogReader 00064 { 00065 public: 00066 LaserScanner2dLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00067 void read( orca::LaserScanner2dDataPtr &obj ); 00068 void read( orca::RangeScanner2dDescription &obj ); 00069 void read() { orca::LaserScanner2dDataPtr obj=new orca::LaserScanner2dData; read(obj); } 00070 }; 00071 00073 00074 class Localise2dLogReader : public orcalog::LogReader 00075 { 00076 public: 00077 Localise2dLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00078 void read( orca::Localise2dData &obj ); 00079 void read( orca::VehicleGeometryDescriptionPtr &obj ); 00080 void read() { orca::Localise2dData obj; read(obj); } 00081 }; 00082 00084 00085 class Localise3dLogReader : public orcalog::LogReader 00086 { 00087 public: 00088 Localise3dLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00089 void read( orca::Localise3dData &obj ); 00090 void read( orca::VehicleGeometryDescriptionPtr &obj ); 00091 void read() { orca::Localise3dData obj; read(obj); } 00092 }; 00093 00095 00096 class Odometry2dLogReader : public orcalog::LogReader 00097 { 00098 public: 00099 Odometry2dLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00100 void read( orca::Odometry2dData &obj ); 00101 void read( orca::VehicleDescription &obj ); 00102 void read() { orca::Odometry2dData obj; read(obj); } 00103 }; 00104 00106 00107 class Odometry3dLogReader : public orcalog::LogReader 00108 { 00109 public: 00110 Odometry3dLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00111 void read( orca::Odometry3dData &obj ); 00112 void read( orca::VehicleDescription &obj ); 00113 void read() { orca::Odometry3dData obj; read(obj); } 00114 }; 00115 00117 00118 class PowerLogReader : public orcalog::LogReader 00119 { 00120 public: 00121 PowerLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00122 void read( orca::PowerData &obj ); 00123 void read() { orca::PowerData obj; read(obj); } 00124 }; 00125 00127 00128 class WifiLogReader : public orcalog::LogReader 00129 { 00130 public: 00131 WifiLogReader( const orcalog::LogReaderInfo &logReaderInfo ); 00132 void read( orca::WifiData &obj ); 00133 void read() { orca::WifiData obj; read(obj); } 00134 }; 00135 00136 } 00137 00138 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)
1.4.5