]> git.mxchange.org Git - flightgear.git/blobdiff - src/Airports/runwaybase.cxx
Create a real FlightPlan (and Leg) class
[flightgear.git] / src / Airports / runwaybase.cxx
index 1131e22a0c932db85168a7f43415ff7da76271b8..951f860e1db1594c1b583297672152bcccd90924 100644 (file)
@@ -26,6 +26,7 @@
 #endif
 
 #include <simgear/compiler.h>
+#include <simgear/props/props.hxx>
 
 #include "runwaybase.hxx"
 
@@ -73,6 +74,27 @@ SGGeod FGRunwayBase::pointOnCenterline(double aOffset) const
   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(temp, (_heading+90.0), 
+    lateralOffset,
+    result, dummyAz2);
+
+  return result;
+}
+
+
 bool FGRunwayBase::isHardSurface() const
 {
   return ((_surface_code == 1) || (_surface_code == 2));