X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Frunwaybase.cxx;h=4f60682a9a75b36ecaacee90276e70be39349fcd;hb=c068049d840c2f4567c7d07e7fb37247d8e23407;hp=e3e1bf02390ce14426f86c1458a66cc8929246f5;hpb=9b900e94304b95337e2731946525cde4ef377da9;p=flightgear.git diff --git a/src/Airports/runwaybase.cxx b/src/Airports/runwaybase.cxx index e3e1bf023..4f60682a9 100644 --- a/src/Airports/runwaybase.cxx +++ b/src/Airports/runwaybase.cxx @@ -1,6 +1,6 @@ // runwaybase.cxx -- a base class for runways and taxiways // -// Written by James Turber, started December 2008. +// Written by James Turner, started December 2008. // // Copyright (C) 2000 Curtis L. Olson - http://www.flightgear.org/~curt // @@ -61,30 +61,21 @@ FGRunwayBase::FGRunwayBase(PositionedID aGuid, Type aTy, const string& aIdent, SGGeod FGRunwayBase::pointOnCenterline(double aOffset) const { - SGGeod result; - double dummyAz2; - double halfLengthMetres = lengthM() * 0.5; - - SGGeodesy::direct(mPosition, _heading, - aOffset - halfLengthMetres, - result, dummyAz2); + SGGeod result = SGGeodesy::direct(geod(), _heading, aOffset); + result.setElevationM(geod().getElevationM()); + return result; } - - SGGeod FGRunwayBase::pointOffCenterline(double aOffset, double lateralOffset) const { SGGeod result; SGGeod temp; double dummyAz2; - double halfLengthMetres = lengthM() * 0.5; - SGGeodesy::direct(mPosition, _heading, - aOffset - halfLengthMetres, - temp, dummyAz2); + SGGeodesy::direct(geod(), _heading, aOffset, temp, dummyAz2); - SGGeodesy::direct(temp, (_heading+90.0), + SGGeodesy::direct(temp, SGMiscd::normalizePeriodic(0, 360,_heading+90.0), lateralOffset, result, dummyAz2);