owlps/owlps-positioning/waypoint.hh

38 lines
957 B
C++
Raw Normal View History

#ifndef _OWLPS_POSITIONING_WAYPOINT_HH_
#define _OWLPS_POSITIONING_WAYPOINT_HH_
#include "point3d.hh"
#include "building.hh"
#include <iostream>
#include <vector>
#include <stdexcept>
class Waypoint: public Point3D
{
protected:
vector<Building*> buildings ;
public:
Waypoint(const Building *_b, const Point3D &p) ;
Waypoint(const Building *_b, const float &_x = 0, const float &_y = 0,
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 ;
void add_building(const Building *_b) ;
Waypoint operator=(const Waypoint &wp) ;
bool operator==(const Waypoint &wp) const ;
inline bool operator!=(const Waypoint &wp) const ;
friend ostream& operator<<(ostream &os, const Waypoint &wp) ;
} ;
#endif // _OWLPS_POSITIONING_WAYPOINT_HH_