- // compute the new runway center, based on the threshold lat/lon, length,
- // and any displaced threshold.
- double offsetFt = (0.5 * _length) - _displ_thresh;
- SGGeod newCenter;
- double dummy;
- SGGeodesy::direct(newThreshold, _heading, offsetFt * SG_FEET_TO_METER, newCenter, dummy);
- mPosition = newCenter;
-}
+ return result;
+}
+
+void FGRunway::updateThreshold(const SGGeod& newThreshold, double newHeading,
+ double newDisplacedThreshold,
+ double newStopway)
+{
+ modifyPosition(newThreshold);
+ _heading = newHeading;
+ _stopway = newStopway;
+ _displ_thresh = newDisplacedThreshold;
+}
+
+FGHelipad::FGHelipad(PositionedID aGuid,
+ PositionedID aAirport, const string& aIdent,
+ const SGGeod& aGeod,
+ const double heading, const double length,
+ const double width,
+ const int surface_code) :
+ FGRunwayBase(aGuid, RUNWAY, aIdent, aGeod,
+ heading, length, width, surface_code)
+{
+}