X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Fparking.hxx;h=9966553651229e2414bc8692dca4db87b0a3b8a4;hb=46ec7a6ff78b0718c6eb09e5abb45c67c153d2f5;hp=5ff130b82124ff19ee7871ead09d435eb9367195;hpb=d9bfd5a425df1bad7e3c53a64adce871e299a6b9;p=flightgear.git diff --git a/src/Airports/parking.hxx b/src/Airports/parking.hxx index 5ff130b82..996655365 100644 --- a/src/Airports/parking.hxx +++ b/src/Airports/parking.hxx @@ -30,107 +30,48 @@ #endif #include +#include #include -#include +#include // for std::auto_ptr #include "gnnode.hxx" +#include -SG_USING_STD(string); -SG_USING_STD(vector); - -class FGTaxiRoute; - - -class FGParking : public FGTaxiNode { +class FGParking : public FGTaxiNode +{ private: - double heading; - double radius; - string parkingName; - string type; - string airlineCodes; - - bool available; - int pushBackPoint; - FGTaxiRoute *pushBackRoute; - + const double heading; + const double radius; + const std::string parkingName; + const std::string type; + const std::string airlineCodes; + FGTaxiNodeRef pushBackPoint; + + SG_DISABLE_COPY(FGParking); public: - FGParking() : - heading(0), - radius(0), - available(true), - pushBackPoint(0), - 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 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; }; + FGParking(int index, + const SGGeod& pos, + double heading, double radius, + const std::string& name, const std::string& type, + const std::string& codes); + virtual ~FGParking(); - double getHeading () { return heading; }; - double getRadius () { return radius; }; + double getHeading () const { return heading; }; + double getRadius () const { return radius; }; - string getType () { return type; }; - string getCodes () { return airlineCodes;}; - string getName () { return parkingName; }; + std::string getType () const { return type; }; + std::string getCodes () const { return airlineCodes;}; + std::string getName () const { return parkingName; }; - FGTaxiRoute * getPushBackRoute () { return pushBackRoute; }; + // TODO do parkings have different name and ident? + virtual const std::string& name() const { return parkingName; } - int getPushBackPoint () { return pushBackPoint; }; + void setPushBackPoint(const FGTaxiNodeRef& node); + FGTaxiNodeRef getPushBackPoint () { return pushBackPoint; }; bool operator< (const FGParking &other) const { return radius < other.radius; }; }; -typedef vector FGParkingVec; -typedef vector::iterator FGParkingVecIterator; -typedef vector::const_iterator FGParkingVecConstIterator; - #endif