X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Fgnnode.hxx;h=3358ea51e6e891a87adebad77adef2958bb3ec80;hb=386aefe69358ce41a11c9afeb8f56e26758fe56b;hp=d265ff5ad913eecd30925f234599486f5170dece;hpb=90b2d25671d60ff3c5561791676f27d31676904c;p=flightgear.git diff --git a/src/Airports/gnnode.hxx b/src/Airports/gnnode.hxx index d265ff5ad..3358ea51e 100644 --- a/src/Airports/gnnode.hxx +++ b/src/Airports/gnnode.hxx @@ -22,22 +22,17 @@ #include #include -using std::string; -using std::vector; - 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; @@ -51,8 +46,6 @@ private: public: FGTaxiNode() : - lat (0.0), - lon (0.0), index(0), isOnRunway(false), holdType(0), @@ -63,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), @@ -77,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; @@ -90,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; }; @@ -106,10 +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();}; - SGGeod geod() const { return SGGeod::fromDeg(lon, lat); } + const SGGeod& getGeod() const { return geod; } int getIndex() { return index; }; int getHoldPointType() { return holdType; }; @@ -124,7 +115,7 @@ FGTaxiNode &operator =(const FGTaxiNode &other) }; -typedef vector FGTaxiNodeVector; +typedef std::vector FGTaxiNodeVector; typedef FGTaxiNodeVector::iterator FGTaxiNodeVectorIterator; #endif