// %flair:license{ // This file is part of the Flair framework distributed under the // CECILL-C License, Version 1.0. // %flair:license} /*! * \file GpsData.h * \brief Class defining gps datas * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253 * \date 2016/07/01 * \version 4.0 */ #ifndef GPSDATA_H #define GPSDATA_H #include #include #include namespace flair { namespace core { /*! \class GpsData * * \brief Class defining gps datas * * GPS datas consist of * * */ class GpsData : public io_data { public: class Type : public DataType { public: Type(ScalarType const &_elementDataType) : elementDataType(_elementDataType) {} ScalarType const &GetElementDataType() const { return elementDataType; } std::string GetDescription() const { return "gps data"; } size_t GetSize() const { return 0; } private: ScalarType const &elementDataType; }; /*! \enum PlotableData_t \brief Datas wich can be plotted in a DataPlot1D */ typedef enum { } PlotableData_t; /*! * \brief Constructor * * Construct an io_data representing GPS datas. \n * * \param parent parent * \param name name * \param n number of samples */ GpsData(const Object *parent, std::string name = "", int n = 1); /*! * \brief Destructor * */ ~GpsData(); /*! * \brief Element * * Get a pointer to a specific element. This pointer can be used for plotting. * * \param data_type data type * * \return pointer to the element */ IODataElement *Element(PlotableData_t data_type) const; Type const &GetDataType() const { return dataType; } private: /*! * \brief Copy datas * * Reimplemented from io_data. \n * See io_data::CopyDatas. * * \param dst destination buffer */ void CopyDatas(char *dst) const; void Queue(char **dst, const void *src, size_t size) const; Type dataType; }; } // end namespace core } // end namespace flair #endif // GPSDATA_H