71 lines
1.4 KiB
C++
71 lines
1.4 KiB
C++
//
|
|
// Linux GPS
|
|
//
|
|
|
|
/* prevent multiple inclusions */
|
|
#ifndef __GpsTrack__
|
|
#define __GpsTrack__
|
|
|
|
/* includes *****************************************************************/
|
|
|
|
#include <vector>
|
|
|
|
#include "GpsPoint.h"
|
|
|
|
/* defines ******************************************************************/
|
|
|
|
/* macros *******************************************************************/
|
|
|
|
/* structs & typedefs *******************************************************/
|
|
|
|
typedef std::vector<GpsPoint> GpsTrack_t;
|
|
|
|
/* c class definitions ******************************************************/
|
|
|
|
//
|
|
// GpsLinux because it depennds on GPSd, the HAMLIB and NMEAP libraries
|
|
//
|
|
class GpsTrack {
|
|
// public data
|
|
public:
|
|
char Name[64];
|
|
GpsTrack_t Points;
|
|
|
|
// parser
|
|
|
|
// protected data
|
|
protected:
|
|
|
|
// private data
|
|
private:
|
|
// static data
|
|
|
|
// private methods
|
|
|
|
// public methods
|
|
public:
|
|
// constructors
|
|
GpsTrack();
|
|
GpsTrack(const char *name);
|
|
GpsTrack(const GpsTrack ©);
|
|
|
|
// destructor
|
|
virtual ~GpsTrack();
|
|
|
|
// operators
|
|
GpsTrack &operator=(const GpsTrack &rhs);
|
|
|
|
// virtual functions
|
|
|
|
// public methods
|
|
void SetName( const char *name ) { strncpy(Name,name,sizeof(Name)-1); };
|
|
int AddPoint( const GpsPoint &Pt );
|
|
|
|
int GenerateKML( const char *kmlfile );
|
|
int ParseKML( const char *kmlfile );
|
|
|
|
// static methods
|
|
};
|
|
|
|
#endif
|