Class TLcdProcedure3DGeometryCalculator

java.lang.Object
com.luciad.ais.model.procedure.TLcdProcedureGeometryCalculator
com.luciad.ais.model.procedure.TLcdProcedure3DGeometryCalculator

public class TLcdProcedure3DGeometryCalculator extends TLcdProcedureGeometryCalculator
This geometry calculator extends TLcdProcedureGeometryCalculator to include actual altitudes in the geometry. It takes into account the aircraft performance settings to descend or climb (in accordance with the altitude descriptions of each leg). The following strategies are used to compute altitudes in the flight profile: SID: Start at runway altitude. Then climb as soon as possible, not violating the maximum altitude. STAR: The initial altitude is determined from the altitudes in the legs. The first minimum altitude encountered in the procedure leg sequence is used as a starting altitude. If none, found the first maximum is taken. If also none is found, 11000ft is taken. Within a leg, try to descend to the maximum allowed altitude within the current leg. IAP: The initial altitude is determined as for the STAR except that 2000ft is used when no altitude is found. The aircraft descends as in a STAR, until it reaches the Missed Approach Point (MAPT) which is a property of a leg. From that leg on, it will inspect the minimal altitude of each leg. When the minimal altitude increase between 2 legs, the aircraft will climb as in a SID. The leg before the MAPT usually has an undefined altitude with an AT or AT_OR_ABOVE constraint. If this is the case, the target altitude is 0.
  • Constructor Details

    • TLcdProcedure3DGeometryCalculator

      public TLcdProcedure3DGeometryCalculator()
  • Method Details

    • calculateProcedureGeometry

      public void calculateProcedureGeometry(ILcdProcedure aProcedure, ILcdProcedureGeometryHandler aProcedureGeometryHandler)
      Description copied from class: TLcdProcedureGeometryCalculator
      Calculates the geometry of the given procedure. An ILcdProcedureGeometryHandler must be provided to process the geometry with.

      An ILcdProcedure represents a high-level modeling of a procedure, following the ARINC 424 Path & Terminator concept. This method is capable of turning such a procedure into a list of points that can be visualized on the map. This approach is typically used in combination with TLcdProcedureTrajectory, which uses it to represent an ILcdProcedure as a polyline.

      Overrides:
      calculateProcedureGeometry in class TLcdProcedureGeometryCalculator
      Parameters:
      aProcedure - the procedure for which the geometry must be calculated
      aProcedureGeometryHandler - a call-back instance that gets updated when new geometry segments are calculated
    • initializeAircraft

      protected void initializeAircraft(ILcdProcedure aProcedure)
      Description copied from class: TLcdProcedureGeometryCalculator
      This method is called at the beginning of a procedure, before any leg is handled. It allows to set the current altitude and other properties if necessary. The default implementation sets position to invalid, and the altitude and heading to Double.NaN.

      Be careful with position and heading of the aircraft, as it may interfere with the initial IF leg and possibly also the next leg(s).

      Overrides:
      initializeAircraft in class TLcdProcedureGeometryCalculator
    • startProcedureLeg

      protected void startProcedureLeg(ILcdProcedure aProcedure, ILcdProcedureLeg aCurrentLeg)
      Description copied from class: TLcdProcedureGeometryCalculator
      Called when a new leg is about to be handled. Derived classes must call the super method to ensure proper functioning of the geometry calculator.
      Overrides:
      startProcedureLeg in class TLcdProcedureGeometryCalculator
      Parameters:
      aProcedure - the procedure whose geometry is being calculated
      aCurrentLeg - the procedure leg about to be processed
    • endProcedureLeg

      protected void endProcedureLeg(ILcdProcedure aProcedure, ILcdProcedureLeg aCurrentLeg)
      Description copied from class: TLcdProcedureGeometryCalculator
      Called when the geometry of the current leg has been generated INCLUDING the transition to the next leg.

      This method shall update the current altitude of the aircraft to its altitude after the leg.

      Overrides:
      endProcedureLeg in class TLcdProcedureGeometryCalculator
      Parameters:
      aProcedure - the procedure whose geometry is being calculated
      aCurrentLeg - the procedure leg that has been processed