#include STL_STRING
#include <vector>
+#include "gnnode.hxx"
SG_USING_STD(string);
SG_USING_STD(vector);
-double processPosition(const string& pos);
+class FGTaxiRoute;
-class FGParking {
+
+class FGParking : public FGTaxiNode {
private:
- double latitude;
- double longitude;
double heading;
double radius;
- int index;
string parkingName;
string type;
string airlineCodes;
bool available;
-
-
+ int pushBackPoint;
+ FGTaxiRoute *pushBackRoute;
public:
- FGParking() { available = true;};
- //FGParking(FGParking &other);
- FGParking(double lat,
- double lon,
- double hdg,
- double rad,
- int idx,
- const string& name,
- const string& tpe,
- const string& codes);
- void setLatitude (const string& lat) { latitude = processPosition(lat); };
- void setLongitude(const string& lon) { longitude = processPosition(lon); };
+ FGParking() :
+ heading(0),
+ radius(0),
+ //parkingName(0),
+ //type(0),
+ //airlineCodes(0),
+ available(true),
+ pushBackPoint(-1),
+ pushBackRoute(0)
+ {
+ };
+
+ FGParking(const FGParking &other) :
+ FGTaxiNode (other),
+ heading (other.heading),
+ radius (other.radius),
+ parkingName (other.parkingName),
+ type (other.type),
+ airlineCodes (other.airlineCodes),
+ available (other.available),
+ pushBackPoint(other.pushBackPoint),
+ pushBackRoute(other.pushBackRoute)
+ {
+ };
+
+
+ FGParking& operator =(const FGParking &other)
+ {
+ FGTaxiNode::operator=(other);
+ heading = other.heading;
+ radius = other.radius;
+ parkingName = other.parkingName;
+ type = other.type;
+ airlineCodes = other.airlineCodes;
+ available = other.available;
+ pushBackPoint= other.pushBackPoint;
+ pushBackRoute= other.pushBackRoute;
+ return *this;
+ };
+ ~FGParking();
+// FGParking(double lat,
+// double lon,
+// double hdg,
+// double rad,
+// int idx,
+// const string& name,
+// const string& tpe,
+// const string& codes);
+
void setHeading (double hdg) { heading = hdg; };
void setRadius (double rad) { radius = rad; };
- void setIndex (int idx) { index = idx; };
+
void setName (const string& name) { parkingName = name; };
void setType (const string& tpe) { type = tpe; };
void setCodes (const string& codes){ airlineCodes= codes;};
+ void setPushBackRoute(FGTaxiRoute *val) { pushBackRoute = val; };
+ void setPushBackPoint(int val) { pushBackPoint = val; };
+
bool isAvailable () { return available;};
void setAvailable(bool val) { available = val; };
- double getLatitude () { return latitude; };
- double getLongitude() { return longitude; };
double getHeading () { return heading; };
double getRadius () { return radius; };
- int getIndex () { return index; };
+
string getType () { return type; };
string getCodes () { return airlineCodes;};
string getName () { return parkingName; };
- bool operator< (const FGParking &other) const {return radius < other.radius; };
+ FGTaxiRoute * getPushBackRoute () { return pushBackRoute; };
+
+ int getPushBackPoint () { return pushBackPoint; };
+
+ bool operator< (const FGParking &other) const {
+ return radius < other.radius; };
};
typedef vector<FGParking> FGParkingVec;