public class TLcdProcedure3DGeometryCalculator extends TLcdProcedureGeometryCalculator
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.TLcdProcedureGeometryCalculator.CFBehavior
Constructor and Description |
---|
TLcdProcedure3DGeometryCalculator() |
Modifier and Type | Method and Description |
---|---|
void |
calculateProcedureGeometry(ILcdProcedure aProcedure,
ILcdProcedureGeometryHandler aProcedureGeometryHandler)
Calculates the geometry of the given procedure.
|
protected void |
endProcedureLeg(ILcdProcedure aProcedure,
ILcdProcedureLeg aCurrentLeg)
Called when the geometry of the current leg has been generated INCLUDING the transition
to the next leg.
|
protected void |
initializeAircraft(ILcdProcedure aProcedure)
This method is called at the beginning of a procedure, before any leg is handled.
|
protected void |
startProcedureLeg(ILcdProcedure aProcedure,
ILcdProcedureLeg aCurrentLeg)
Called when a new leg is about to be handled.
|
flyByOntoArc, flyByOntoLine, flyOverOntoArc, flyOverOntoLine, getAircraftPerformanceSettings, getAircraftState, getCFBehavior, getDiscretizationResolutionAngle, getEllipsoid, handleAngleArc, handleLine, handlePoint, isClassTraceOn, isDoHoldingEntries, setAircraftPerformanceSettings, setCFBehavior, setClassTraceOn, setCoordinateSystems, setDiscretizationResolutionAngle, setDoHoldingEntries
public void calculateProcedureGeometry(ILcdProcedure aProcedure, ILcdProcedureGeometryHandler aProcedureGeometryHandler)
TLcdProcedureGeometryCalculator
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.
calculateProcedureGeometry
in class TLcdProcedureGeometryCalculator
aProcedure
- the procedure for which the geometry must be calculatedaProcedureGeometryHandler
- a call-back instance that gets updated when new geometry segments are calculatedprotected void initializeAircraft(ILcdProcedure aProcedure)
TLcdProcedureGeometryCalculator
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).
initializeAircraft
in class TLcdProcedureGeometryCalculator
protected void startProcedureLeg(ILcdProcedure aProcedure, ILcdProcedureLeg aCurrentLeg)
TLcdProcedureGeometryCalculator
startProcedureLeg
in class TLcdProcedureGeometryCalculator
aProcedure
- the procedure whose geometry is being calculatedaCurrentLeg
- the procedure leg about to be processedprotected void endProcedureLeg(ILcdProcedure aProcedure, ILcdProcedureLeg aCurrentLeg)
TLcdProcedureGeometryCalculator
This method shall update the current altitude of the aircraft to its altitude after the leg.
endProcedureLeg
in class TLcdProcedureGeometryCalculator
aProcedure
- the procedure whose geometry is being calculatedaCurrentLeg
- the procedure leg that has been processed