|
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
|
logwriters.h00001 #ifndef ORCALOGFACTORY_LOGWRITERS_H 00002 #define ORCALOGFACTORY_LOGWRITERS_H 00003 00004 #include <orcalog/logwriter.h> 00005 #include <orca/cpu.h> 00006 #include <orca/drivebicycle.h> 00007 #include <orca/imu.h> 00008 #include <orca/laserscanner2d.h> 00009 #include <orca/localise2d.h> 00010 #include <orca/localise3d.h> 00011 #include <orca/odometry2d.h> 00012 #include <orca/odometry3d.h> 00013 #include <orca/polarfeature2d.h> 00014 #include <orca/power.h> 00015 #include <orca/wifi.h> 00016 #include <orca/gps.h> 00017 00018 #include <orca/camera.h> 00019 #include <orca/image.h> 00020 #include "camerawriter.h" 00021 00022 namespace orcalogfactory { 00023 00024 // 00025 // A collection of classes capable of writing sub-logfiles for specific 00026 // interface types. 00027 // 00028 00030 00031 class CpuLogWriter : public orcalog::LogWriter 00032 { 00033 public: 00034 void checkFormat( const std::string &format ); 00035 void write( const orca::CpuData &obj, const orca::Time &arrivalTime ); 00036 }; 00037 00039 00040 class DriveBicycleLogWriter : public orcalog::LogWriter 00041 { 00042 public: 00043 void checkFormat( const std::string &format ); 00044 void write( const orca::DriveBicycleData &obj, const orca::Time &arrivalTime ); 00045 void write( const orca::VehicleDescription &descr ); 00046 }; 00047 00049 00050 class ImuLogWriter : public orcalog::LogWriter 00051 { 00052 public: 00053 void checkFormat( const std::string &format ); 00054 void write( const orca::ImuData &obj, const orca::Time &arrivalTime ); 00055 }; 00056 00058 00059 class LaserScanner2dLogWriter : public orcalog::LogWriter 00060 { 00061 public: 00062 void checkFormat( const std::string &format ); 00063 void write( const orca::LaserScanner2dDataPtr &obj, const orca::Time &arrivalTime ); 00064 void write( const orca::RangeScanner2dDescription &descr ); 00065 }; 00066 00068 00069 class Localise2dLogWriter : public orcalog::LogWriter 00070 { 00071 public: 00072 void checkFormat( const std::string &format ); 00073 void write( const orca::Localise2dData &obj, const orca::Time &arrivalTime ); 00074 void write( const orca::VehicleGeometryDescriptionPtr &descr ); 00075 }; 00076 00078 00079 class Localise3dLogWriter : public orcalog::LogWriter 00080 { 00081 public: 00082 void checkFormat( const std::string &format ); 00083 void write( const orca::Localise3dData &obj, const orca::Time &arrivalTime ); 00084 void write( const orca::VehicleGeometryDescriptionPtr &descr ); 00085 }; 00086 00088 00089 class Odometry2dLogWriter : public orcalog::LogWriter 00090 { 00091 public: 00092 void checkFormat( const std::string &format ); 00093 void write( const orca::Odometry2dData &obj, const orca::Time &arrivalTime ); 00094 void write( const orca::VehicleDescription &descr ); 00095 }; 00096 00098 00099 class Odometry3dLogWriter : public orcalog::LogWriter 00100 { 00101 public: 00102 void checkFormat( const std::string &format ); 00103 void write( const orca::Odometry3dData &obj, const orca::Time &arrivalTime ); 00104 void write( const orca::VehicleDescription &descr ); 00105 }; 00106 00108 00109 class PolarFeature2dLogWriter : public orcalog::LogWriter 00110 { 00111 public: 00112 void checkFormat( const std::string &format ); 00113 void write( const orca::PolarFeature2dData &obj, const orca::Time &arrivalTime ); 00114 }; 00115 00117 00118 class PowerLogWriter : public orcalog::LogWriter 00119 { 00120 public: 00121 void checkFormat( const std::string &format ); 00122 void write( const orca::PowerData &obj, const orca::Time &arrivalTime ); 00123 }; 00124 00126 00127 class WifiLogWriter : public orcalog::LogWriter 00128 { 00129 public: 00130 void checkFormat( const std::string &format ); 00131 void write( const orca::WifiData &obj, const orca::Time &arrivalTime ); 00132 }; 00133 00135 00136 class GpsLogWriter : public orcalog::LogWriter 00137 { 00138 public: 00139 void checkFormat( const std::string &format ); 00140 void write( const orca::GpsData &obj, const orca::Time &arrivalTime ); 00141 void write( const orca::GpsDescription &descr ); 00142 }; 00143 00145 00146 class ImageLogWriter : public orcalog::LogWriter 00147 { 00148 public: 00149 void checkFormat( const std::string &format ); 00150 void write( const orca::ImageDataPtr &obj, const orca::Time &arrivalTime ); 00151 void write( const orca::ImageDescriptionPtr &descr ); 00152 }; 00153 00155 00156 class CameraLogWriter : public orcalog::LogWriter 00157 { 00158 public: 00159 void checkFormat( const std::string &format ); 00160 void write( const orca::ImageDataPtr &obj, const orca::Time &arrivalTime ); 00161 void write( const orca::CameraDescriptionPtr &descr ); 00162 void createLogFile( const std::string &filename, const std::string &format ); 00163 private: 00164 // alen - member class for camera logging so we can handle jpegs 00165 CameraWriter cameraWriter; 00166 00167 }; 00168 00170 00171 00172 } 00173 00174 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)
1.4.5