]> git.mxchange.org Git - flightgear.git/blobdiff - src/Airports/runwaybase.cxx
NewAtis: handle varying winds
[flightgear.git] / src / Airports / runwaybase.cxx
index e3e1bf02390ce14426f86c1458a66cc8929246f5..4f60682a9a75b36ecaacee90276e70be39349fcd 100644 (file)
@@ -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);