X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Fgnnode.hxx;h=3358ea51e6e891a87adebad77adef2958bb3ec80;hb=386aefe69358ce41a11c9afeb8f56e26758fe56b;hp=aee5d6a81cbce3b3a4857fc3d8d5fcac9d1de5a9;hpb=667e64e1ebc86a0c53112b92b53475898f315c36;p=flightgear.git diff --git a/src/Airports/gnnode.hxx b/src/Airports/gnnode.hxx index aee5d6a81..3358ea51e 100644 --- a/src/Airports/gnnode.hxx +++ b/src/Airports/gnnode.hxx @@ -18,24 +18,21 @@ #include #include -#include -using std::string; -using std::vector; +#include +#include class FGTaxiSegment; -typedef vector FGTaxiSegmentVector; +typedef std::vector FGTaxiSegmentVector; typedef FGTaxiSegmentVector::iterator FGTaxiSegmentVectorIterator; bool sortByHeadingDiff(FGTaxiSegment *a, FGTaxiSegment *b); bool sortByLength (FGTaxiSegment *a, FGTaxiSegment *b); -double processPosition(const string& pos); class FGTaxiNode { private: - double lat; - double lon; + SGGeod geod; int index; bool isOnRunway; @@ -49,8 +46,6 @@ private: public: FGTaxiNode() : - lat (0.0), - lon (0.0), index(0), isOnRunway(false), holdType(0), @@ -61,8 +56,7 @@ public: }; FGTaxiNode(const FGTaxiNode &other) : - lat(other.lat), - lon(other.lon), + geod(other.geod), index(other.index), isOnRunway(other.isOnRunway), holdType(other.holdType), @@ -75,8 +69,7 @@ public: FGTaxiNode &operator =(const FGTaxiNode &other) { - lat = other.lat; - lon = other.lon; + geod = other.geod; index = other.index; isOnRunway = other.isOnRunway; holdType = other.holdType; @@ -88,10 +81,10 @@ FGTaxiNode &operator =(const FGTaxiNode &other) }; void setIndex(int idx) { index = idx; }; - void setLatitude (double val) { lat = val; }; - void setLongitude(double val) { lon = val; }; - void setLatitude (const string& val) { lat = processPosition(val); }; - void setLongitude(const string& val) { lon = processPosition(val); }; + void setLatitude (double val); + void setLongitude(double val); + void setLatitude (const std::string& val); + void setLongitude(const std::string& val); void addSegment(FGTaxiSegment *segment) { next.push_back(segment); }; void setHoldPointType(int val) { holdType = val; }; void setOnRunway(bool val) { isOnRunway = val; }; @@ -104,8 +97,10 @@ FGTaxiNode &operator =(const FGTaxiNode &other) FGTaxiSegment *getPreviousSegment() { return previousSeg; }; double getPathScore() { return pathScore; }; - double getLatitude() { return lat;}; - double getLongitude(){ return lon;}; + double getLatitude() { return geod.getLatitudeDeg();}; + double getLongitude(){ return geod.getLongitudeDeg();}; + + const SGGeod& getGeod() const { return geod; } int getIndex() { return index; }; int getHoldPointType() { return holdType; }; @@ -120,7 +115,7 @@ FGTaxiNode &operator =(const FGTaxiNode &other) }; -typedef vector FGTaxiNodeVector; +typedef std::vector FGTaxiNodeVector; typedef FGTaxiNodeVector::iterator FGTaxiNodeVectorIterator; #endif