#pragma once #include #include #include #include "az_action_point.h" #include "az_coordinate.h" using namespace std; const double INVALID_HEIGHT = -100000; enum AzGeofenceType { AZ_GEOFENCE_TYPE_NONE = 0, AZ_GEOFENCE_TYPE_INCLUSION = 1, AZ_GEOFENCE_TYPE_EXCLUSION = 2 }; class AzGeofence { public: vector coordinates; AzGeofenceType type; }; class AzMission { public: AzMission(string filename); const vector &getGeofences(void) const; const vector &getActionPoints(void) const; int getOperationalHeight(void) const; AzCoordinate getReturnPoint(void) const; friend ostream &operator<<(ostream &os, const AzMission &obj); private: void parse(void); string mFilename; vector mGeofences; vector mActionPoints; int mOperationalHeight; AzCoordinate mReturnPoint; };