2009-12-07 16:03:53 +01:00
|
|
|
#ifndef _OWLPS_POSITIONING_WAYPOINT_HH_
|
|
|
|
#define _OWLPS_POSITIONING_WAYPOINT_HH_
|
|
|
|
|
|
|
|
#include "point3d.hh"
|
2009-12-14 15:45:16 +01:00
|
|
|
#include "building.hh"
|
2009-12-07 16:03:53 +01:00
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
class Waypoint: public Point3D
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
vector<Building*> buildings ;
|
|
|
|
|
|
|
|
public:
|
2009-12-11 17:56:31 +01:00
|
|
|
Waypoint(const Building *_b, const Point3D &p) ;
|
|
|
|
Waypoint(const Building *_b, const float &_x = 0, const float &_y = 0,
|
2009-12-07 16:03:53 +01:00
|
|
|
const float &_z = 0) ;
|
|
|
|
Waypoint(const Point3D &p): Point3D(p) {}
|
|
|
|
Waypoint(const Waypoint &wp): Point3D(wp), buildings(wp.buildings) {}
|
|
|
|
|
|
|
|
~Waypoint(void) ;
|
|
|
|
|
|
|
|
Building* get_1st_building(void) const ;
|
|
|
|
vector<Building*> get_buildings(void) const ;
|
|
|
|
|
2009-12-14 15:45:16 +01:00
|
|
|
void add_building(const Building *_b) ;
|
2009-12-07 16:03:53 +01:00
|
|
|
|
|
|
|
Waypoint operator=(const Waypoint &wp) ;
|
|
|
|
bool operator==(const Waypoint &wp) const ;
|
|
|
|
inline bool operator!=(const Waypoint &wp) const ;
|
|
|
|
|
|
|
|
friend ostream& operator<<(ostream &os, Waypoint &wp) ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
#endif // _OWLPS_POSITIONING_WAYPOINT_HH_
|