Class: Epic2FmsUtils
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:16
Utility Methods for the Epic 2 FMS.
Constructors
Constructor
new Epic2FmsUtils():
Epic2FmsUtils
Returns
Epic2FmsUtils
Properties
DTO_LEG_OFFSET
readonly
static
DTO_LEG_OFFSET:3
=3
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:46
getBestRnavType()
static
getBestRnavType: (query
) =>RnavTypeFlags
=ApproachUtils.getBestRnavType
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:256
Utility method to return a single RnavTypeFlag from multiple possible flags.
Gets the best RNAV minimum type available for a given approach.
Parameters
Parameter | Type | Description |
---|---|---|
query | ApproachProcedure | RnavTypeFlags | The approach to check, or its RNAV type flags. |
Returns
The best RNAV minimum type available for the specified approach.
Param
The input RnavTypeFlags.
Returns
A single RnavTypeFlag
isApproachRnpAr()
static
isApproachRnpAr: (approach
) =>boolean
=ApproachUtils.isRnpAr
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1809
Checks whether an approach procedure is an RNP (AR) approach.
Checks whether an approach procedure is an RNP (AR) approach.
Parameters
Parameter | Type | Description |
---|---|---|
approach | ApproachProcedure | The approach procedure to check. |
Returns
boolean
Whether the approach procedure is an RNP (AR) approach.
Param
The approach procedure to check.
Returns
Whether the approach procedure is an RNP (AR) approach.
Methods
addLegTComp()
static
addLegTComp(fms
,leg
,destOatC
,destElev
):void
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1899
Applies temperature compensation to the altitude constraints in the vertical data of the provided leg
Parameters
Parameter | Type | Description |
---|---|---|
fms | Epic2Fms | The FMS |
leg | LegDefinition | The leg to be temperature compensated |
destOatC | number | The destination Outside Air Temperature in degrees Celcius |
destElev | number | The destination elevation in feet |
Returns
void
approachHasNavFrequency()
static
approachHasNavFrequency(approach
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:669
Checks whether an approach has a primary NAV frequency based on its type. Only approaches of the following types have primary NAV frequencies: ILS, LOC (BC), LDA, SDF, VOR(DME).
Parameters
Parameter | Type | Description |
---|---|---|
approach | ApproachProcedure | The approach to check. |
Returns
boolean
Whether the specified approach has a primary NAV frequency based on its type.
buildEpic2LegName()
static
buildEpic2LegName(leg
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1223
Builds leg names using default nomenclature.
Parameters
Parameter | Type | Description |
---|---|---|
leg | FlightPlanLeg | The leg to build a name for. |
Returns
string
The name of the leg.
buildRunwayLeg()
static
buildRunwayLeg(airport
,oneWayRunway
,isOriginRunway
):FlightPlanLeg
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:130
Utility method to return a one-way runway leg
Parameters
Parameter | Type | Description |
---|---|---|
airport | AirportFacility | The runway's parent airport. |
oneWayRunway | OneWayRunway | is the one wway runway object |
isOriginRunway | boolean | is a bool whether this is the origin or destination (origin = true, dest = false) |
Returns
a leg object for the runway
buildVisualApproach()
static
buildVisualApproach(facRepo
,airport
,runway
,finalLegDistance
,finalLegVpa
):ApproachProcedure
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:185
Utility method to return a visual approach for a runway.
Parameters
Parameter | Type | Description |
---|---|---|
facRepo | FacilityRepository | is a facility repository in which to store the created faf leg facility |
airport | AirportFacility | is the airport facility for the visual approach. |
runway | OneWayRunway | is the runway to build the visual approach for. |
finalLegDistance | number | is the distance from the runway to place the faf leg in NM. |
finalLegVpa | undefined | number | is the vertical path angle selected for the final approach, or undefined if not applicable. |
Returns
an approach procedure.
calculateTComp()
static
calculateTComp(altitude
,destOatC
,destElev
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1885
Calculates a temperature compensated altitude restriction Equation source: https://code7700.com/altimetry_temperature_correction.htm
Parameters
Parameter | Type | Description |
---|---|---|
altitude | number | An altitude restriction in feet |
destOatC | number | Destination outside air temperature in Celcius |
destElev | number | Destination elevation in feet |
Returns
number
A temperature compensated altitude (in feet) to fly on a non-temperature-compensated altimeter (not the actual temparture-compensated altitude of the aircraft)
canDirectTo()
static
canDirectTo(lateralPlan
,segmentIndex
,segmentLegIndex
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1565
Checks whether a leg in the primary flight plan is a valid direct to target.
Parameters
Parameter | Type | Description |
---|---|---|
lateralPlan | FlightPlan | The lateral flight plan. |
segmentIndex | number | The index of the segment in which the leg resides. |
segmentLegIndex | number | The index of the leg in its segment. |
Returns
boolean
Whether the leg is a valid direct to target.
Throws
Error if a leg could not be found at the specified location.
canLegBeAutoUnsuspended()
static
canLegBeAutoUnsuspended(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:163
Checks whether a leg with a given type being active should cause LNAV to be auto unsuspended
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | the leg type |
Returns
boolean
a boolean
canLegBeSelectedOnDirectPage()
static
canLegBeSelectedOnDirectPage(leg
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1197
Checks whether a leg should appear on the Direct To Page based on leg type.
Parameters
Parameter | Type | Description |
---|---|---|
leg | FlightPlanLeg | The FlightPlanLeg to evaluate. |
Returns
boolean
whether or not the leg should appear on the Direct To page.
distanceBetweenDiscontinuedLegs()
static
distanceBetweenDiscontinuedLegs(prevLeg
,nextLeg
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1472
Returns the distance between the end of a leg before a discontinuity and the start of the leg after that discontinuity
Parameters
Parameter | Type | Description |
---|---|---|
prevLeg | LegDefinition | the leg before the discontinuity |
nextLeg | LegDefinition | the leg after the discontinuity |
Returns
number
the great circle distance between the end of the previous leg and the start of the next leg, in metres
doesApproachSupportGp()
static
doesApproachSupportGp(approachDetails
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:384
Checks whether the approach details indicate that vertical guidance (GP) can be supported.
Parameters
Parameter | Type | Description |
---|---|---|
approachDetails | ApproachDetails | The current approach details |
Returns
boolean
whether or not vertical guidance is supported.
estimateDistanceForSeconds()
static
estimateDistanceForSeconds(seconds
,groundSpeed
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1420
Calculates distance flown for a number of seconds at a ground speed
Parameters
Parameter | Type | Description |
---|---|---|
seconds | number | time flown in number of seconds |
groundSpeed | number | GS to predict with |
Returns
number
distance in nautical miles
estimateSecondsForDistance()
static
estimateSecondsForDistance(distance
,groundSpeed
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1408
Calculates time in seconds to fly a certain distance at a ground speed
Parameters
Parameter | Type | Description |
---|---|---|
distance | number | distance to fly |
groundSpeed | number | GS to predict with |
Returns
number
time in number of seconds
findIcaoInSegment()
static
findIcaoInSegment(segment
,icao
):undefined
|number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:66
Checks whether a leg exists in a segment with the specified ICAO and, if so, returns the leg index of that leg.
Parameters
Parameter | Type | Description |
---|---|---|
segment | FlightPlanSegment | The segment to check for the icao. |
icao | undefined | string | The ICAO to check for in the segment. |
Returns
undefined
| number
The segment leg index of the leg with the matching icao, or -1.
formatFacilityFrequencyType()
static
formatFacilityFrequencyType(frequency
,noneString
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1495
Formats a facility frequency's type for display on the FMC
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
frequency | FacilityFrequency | undefined | the frequency |
noneString | string | 'UNKNOWN' | (optional) the string to return when the type is "None" |
Returns
string
a string
getActiveSegment()
static
getActiveSegment(plan
):undefined
|FlightPlanSegment
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:53
Gets the active segment in the Lateral Flight Plan.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | The Lateral Flight Plan. |
Returns
undefined
| FlightPlanSegment
The Active Flight Plan Segment or undefined.
getApproachFromPlan()
static
getApproachFromPlan(plan
,destination
):undefined
|ApproachProcedure
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:295
Gets an approach procedure from a flight plan.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
destination | AirportFacility | The detsination airport of the flight plan. |
Returns
undefined
| ApproachProcedure
The approach procedure from the flight plan, or undefined if the plan has no approach.
getApproachListItems()
static
getApproachListItems(airport?
,includeVisual?
):ApproachListItem
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1770
Gets an array of approaches from an airport.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
airport? | AirportFacility | undefined | An airport. |
includeVisual? | boolean | true | Whether to include visual approaches. Defaults to true . |
Returns
An array of approaches.
getApproachNameAsEfisString()
Get the name of an approach in the format used on the EFIS
Param
Either an airport facility (if combined with a procedure as the second arg) or an approach procedure
Param
Index of the desired approach if the first arg is an airport facility
Call Signature
static
getApproachNameAsEfisString(facility
,procedureIndex
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:616
Get the name of an approach in the format used on the EFIS
Parameters
Parameter | Type | Description |
---|---|---|
facility | AirportFacility | An airport facility |
procedureIndex | number | Index of the desired approach |
Returns
string
formatted approach name ready for EFIS display
Call Signature
static
getApproachNameAsEfisString(approach
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:622
Get the name of an approach in the format used on the EFIS
Parameters
Parameter | Type | Description |
---|---|---|
approach | ApproachProcedure | The desired approach procedure |
Returns
string
formatted approach name ready for EFIS display
getApproachNameAsParts()
static
getApproachNameAsParts(proc
,transitionIndex
):ApproachNameParts
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:531
Utility method to analyze an approach for its name components and pack them into a custom type.
Parameters
Parameter | Type | Description |
---|---|---|
proc | ApproachProcedure | The approach procedure. |
transitionIndex | number | The transition index. |
Returns
The name as an ApproachNameParts
getApproachNameAsString()
static
getApproachNameAsString(facility
,procedureIndex
,transitionIndex
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:598
Utility method that gets an approach and returns its name as a flat string suitable for use in embedded text content.
Parameters
Parameter | Type | Description |
---|---|---|
facility | AirportFacility | The Facility. |
procedureIndex | number | The approach index. |
transitionIndex | number | The index of the approach transition. |
Returns
string
The formatted name as a string.
getApproachNameForList()
static
getApproachNameForList(facilityOrApproach
,procedureIndex?
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:649
Get the name of an approach in the format used in a list
Parameters
Parameter | Type | Description |
---|---|---|
facilityOrApproach | AirportFacility | ApproachProcedure | Either an airport facility (if combined with a procedure as the second arg) or an approach procedure |
procedureIndex? | number | Index of the desired approach if the first arg is an airport facility |
Returns
string
formatted approach name ready for a list display
getApproachSegment()
static
getApproachSegment(plan
):undefined
|FlightPlanSegment
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:401
Gets the approach segment from a flight plan.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
undefined
| FlightPlanSegment
The approach segment in the specified flight plan, or undefined
if one does not exist.
getApproachTransitionListItems()
static
getApproachTransitionListItems(approachItem?
):TransitionListItem
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1713
Gets the transitions for the approach, adding suffixes, vectors transtion, and default approach if needed.
Parameters
Parameter | Type | Description |
---|---|---|
approachItem? | ApproachListItem | The approach procedure to get the transitions for. |
Returns
The transitions for the approach.
getApproachTransitionName()
static
getApproachTransitionName(approach
,transitionIndex
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1745
Creates an TransitionListItem from an ApproachProcedure and the transition index.
Parameters
Parameter | Type | Description |
---|---|---|
approach | ApproachProcedure | The approach procedure. |
transitionIndex | number | The approach transition index. |
Returns
string
The created TransitionListItem.
getApproachVtfLeg()
static
getApproachVtfLeg(plan
):undefined
|LegDefinition
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:348
Gets the vectors-to-final leg of a flight plan.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
undefined
| LegDefinition
The vectors-to-final leg of the flight plan, or undefined if one could not be found.
getArrivalNameAsString()
static
getArrivalNameAsString(facility
,procedureIndex
,transitionIndex
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:500
Gets the name of a arrival procedure as a string.
Parameters
Parameter | Type | Description |
---|---|---|
facility | AirportFacility | The airport to which the arrival belongs. |
procedureIndex | number | An arrival procedure index. |
transitionIndex | number | The index of the arrival enroute transition. |
Returns
string
The name of the arrival procedure.
getBaseFacility()
static
getBaseFacility(facility
):Facility
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:146
Get a basic facility with only the properties of Facility from any facility.
Parameters
Parameter | Type | Description |
---|---|---|
facility | Facility | The facility. |
Returns
A facility instance with only the basic subset of properties.
getConstraintDisplayForDirectPage()
static
getConstraintDisplayForDirectPage(verticalData
,transitionAltitude
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:944
Method to get the FMS constraint display data from a verticalData object
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
verticalData | VerticalData | undefined | is the Vertical Data object for the leg |
transitionAltitude | number | 18000 | is the transition altitude that applies to the constraint |
Returns
string
A string to display on the FMC
getConstraintDisplayForLegs()
static
getConstraintDisplayForLegs(performancePlan
,verticalData
,transitionAltitude
,constraintInvalid?
,isRunway?
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:865
Method to get the FMS constraint display data from a verticalData object.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
performancePlan | Epic2PerformancePlan | undefined | performance plan data |
verticalData | VerticalData | undefined | The Vertical Data object for the leg. |
transitionAltitude | number | 18000 | The transition altitude that applies to the constraint. |
constraintInvalid? | boolean | undefined | If the constraint is invalid. |
isRunway? | boolean | undefined | If the constraint is a runway. |
Returns
string
A string to display on the FMC.
getDepartureNameAsString()
static
getDepartureNameAsString(facility
,procedureIndex
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:471
Gets the name of a departure procedure as a string.
Parameters
Parameter | Type | Description |
---|---|---|
facility | AirportFacility | The Facility. |
procedureIndex | number | The procedure index. |
Returns
string
The name of the departure procedure.
getDirectToCourse()
static
getDirectToCourse(leg
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1133
Gets the direct to magnetic course from the leg vectors.
Parameters
Parameter | Type | Description |
---|---|---|
leg | LegDefinition | The Leg Definition |
Returns
number
the magnetic course.
getDistanceFromPposToLegEnd()
static
getDistanceFromPposToLegEnd(lateralPlan
,globalLegIndex
,legDistanceRemaining
):undefined
|number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1539
Returns the distance from PPOS to the end of a leg, given a lateral plan and a global leg index
Parameters
Parameter | Type | Description |
---|---|---|
lateralPlan | FlightPlan | the lateral plan |
globalLegIndex | number | the global leg index |
legDistanceRemaining | number | The remaining distance to the end of the leg currently tracked by LNAV, in nautical miles. |
Returns
undefined
| number
the distance, in metres
getFpaDisplayForLegs()
static
getFpaDisplayForLegs(vnavLeg
,vnavConstraint?
,phase?
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:840
Method to get the FMS FPA display data for a leg from a VNavConstraint and VNavLeg.
Parameters
Parameter | Type | Description |
---|---|---|
vnavLeg | VNavLeg | The VNav Leg from the vertical flight plan that cooresponds to this leg index. |
vnavConstraint? | VNavConstraint | The VNav Constraint from the Vertical Flight Plan that cooresponds to this leg index. |
phase? | VerticalFlightPhase | The vertical flight phase of this leg. |
Returns
string
A string to display on the FMC.
getFromLegForArrowDisplay()
Call Signature
static
getFromLegForArrowDisplay(plan
,globalLegIndex
):undefined
|LegDefinition
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1635
Gets the leg from which a specified flight plan leg originates for the purpose of displaying the flight plan from-to arrow.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
globalLegIndex | number | The global index of the leg for which to get the from leg. |
Returns
undefined
| LegDefinition
The leg from which the specified flight plan leg originates for the purpose of displaying the from -to arrow.
Call Signature
static
getFromLegForArrowDisplay(plan
,segmentIndex
,segmentLegIndex
):undefined
|LegDefinition
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1645
Gets the leg from which a specified flight plan leg originates for the purpose of displaying the flight plan from-to arrow.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
segmentIndex | number | The index of the segment containing the leg for which to get the from leg. |
segmentLegIndex | number | The index of the leg for which to get the from leg in its segment. |
Returns
undefined
| LegDefinition
The leg from which the specified flight plan leg originates for the purpose of displaying the from -to arrow.
getGlobalLegIndex()
static
getGlobalLegIndex(lateralPlan
,segmentIndex
,segmentLegIndex
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1619
Gets the global leg index from a segment and segment leg index, whether or not the leg exists.
Parameters
Parameter | Type | Description |
---|---|---|
lateralPlan | FlightPlan | The Lateral Flight Plan. |
segmentIndex | number | The Segment Index. |
segmentLegIndex | number | The Segment Leg Index. |
Returns
number
The global leg index.
getHighestRnavMinimaFromRnavType()
static
getHighestRnavMinimaFromRnavType(type
):RnavMinima
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:367
Gets the highest RNAV minima that can be selected from an RNAV Type
Parameters
Parameter | Type | Description |
---|---|---|
type | RnavTypeFlags | The Rnav Type Flags for the approach |
Returns
The highest RNAV minima for the approach
getLastNonMissedApproachLeg()
static
getLastNonMissedApproachLeg(plan
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1431
Returns the index of the last non-missed approach leg in the flight plan
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | the plan to use for lookup |
Returns
number
array of index and ident, or undefined if no approach segment
getLegIndexes()
static
getLegIndexes(lateralPlan
,leg
):undefined
|LegIndexes
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1596
Gets the indexes for a leg.
Parameters
Parameter | Type | Description |
---|---|---|
lateralPlan | FlightPlan | The Lateral Flight Plan. |
leg | LegDefinition | The leg definition. |
Returns
undefined
| LegIndexes
The leg indexes, or undefined if not found.
getMissedApproachPointIndex()
static
getMissedApproachPointIndex(plan
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1450
Returns the index of the MAP point in a flight plan, or -1 if none is present
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | flight plan |
Returns
number
a number
getNominalFromLeg()
static
getNominalFromLeg(plan
,segmentIndex
,segmentLegIndex
):undefined
|LegDefinition
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:692
Gets the nominal leg from which a specified flight plan leg originates. The nominal from leg excludes any legs which are part of a direct to or vectors-to-final sequence.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
segmentIndex | number | The index of the segment containing the leg for which to get the from leg. |
segmentLegIndex | number | The index of the leg for which to get the from leg in its segment. |
Returns
undefined
| LegDefinition
The nominal leg from which the specified flight plan leg originates.
getNominalFromLegIndex()
static
getNominalFromLegIndex(plan
,segmentIndex
,segmentLegIndex
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:716
Gets the global leg index of the nominal leg from which a specified flight plan leg originates. The nominal from leg excludes any legs which are part of a direct to or vectors-to-final sequence.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
segmentIndex | number | The index of the segment containing the leg for which to get the from leg. |
segmentLegIndex | number | The index of the leg for which to get the from leg in its segment. |
Returns
number
The nominal leg from which the specified flight plan leg originates.
getPlanHolds()
static
getPlanHolds(plan
,inMissed
):LegDefinition
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1378
Returns hold legs in the flight plan. Used to determine and show appropriate HOLD pages.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
plan | FlightPlan | undefined | the flight plan in question |
inMissed | boolean | false | whether to only include missed approach holds |
Returns
the result
getProcedureIndexAndTransitionIndexFromSegmentType()
static
getProcedureIndexAndTransitionIndexFromSegmentType(segmentType
,lateralPlan
):number
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:416
Gets the procedure index and transition index from procedure details of the lateral plan based on segment type.
Parameters
Parameter | Type | Description |
---|---|---|
segmentType | FlightPlanSegmentType | The segment type. |
lateralPlan | FlightPlan | The lateral flight plan. |
Returns
number
[]
an array of procedureIndex, transitionIndex.
getProcedureNameAsString()
static
getProcedureNameAsString(segmentType
,facility
,procedureIndex
,transitionIndex?
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:436
Combiner method to get a procedure name as a string for the FPLN Page.
Parameters
Parameter | Type | Description |
---|---|---|
segmentType | FlightPlanSegmentType | The segment type. |
facility | undefined | AirportFacility | The facility. |
procedureIndex | number | The procedure index. |
transitionIndex? | number | The transition index. |
Returns
string
the name as a string.
getPublishedSpeedDescBasedOnSegment()
static
getPublishedSpeedDescBasedOnSegment(publishedSpeedRestriction
,segmentType
):SpeedRestrictionType
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1700
Returns the speed restriction type to use based on the published speed and what segment it's in.
Parameters
Parameter | Type | Description |
---|---|---|
publishedSpeedRestriction | number | The published speed. |
segmentType | FlightPlanSegmentType | The segment type. |
Returns
The speed restriction type to use.
getVisualApproaches()
static
getVisualApproaches(facility
):ApproachProcedure
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1816
Gets the visual approaches for the facility.
Parameters
Parameter | Type | Description |
---|---|---|
facility | AirportFacility | is the facility. |
Returns
The Approach Procedures.
isAirwayAtLeg()
static
isAirwayAtLeg(facLoader
,icao
,airwayName
):Promise
<undefined
|AirwayData
>
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1160
Checks for an airway at a leg and returns the airway or undefined
Parameters
Parameter | Type | Description |
---|---|---|
facLoader | FacilityLoader | The facility loader. |
icao | string | The icao of the entry to check. |
airwayName | string | The airway to search for. |
Returns
Promise
<undefined
| AirwayData
>
The airway object or undefined
isAltitudeLeg()
static
isAltitudeLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1067
Checks if leg type is an "to altitude" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "to altitude" leg type.
isApproachLoaded()
static
isApproachLoaded(plan
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:330
Checks whether a flight plan has an approach loaded.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
boolean
Whether the flight plan has an approach loaded.
isArcLeg()
static
isArcLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1104
Checks if leg type is an "arc" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is an "arc" leg type.
isCourseToLeg()
static
isCourseToLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1076
Checks if leg type is a "course to" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "course to" leg type.
isDiscontinuityLeg()
static
isDiscontinuityLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1085
Checks if leg type is a "discontinuity" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "discontinuity" leg type.
isFirstLegInSegment()
static
isFirstLegInSegment(plan
,segmentIndex
,segmentLegIndex
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:85
Checks if the specified leg is the first leg in the segment (accounting for discontinuities)
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | flight plan |
segmentIndex | number | the segment index |
segmentLegIndex | number | the segment leg index |
Returns
boolean
if the specified leg is the first leg in the segment
isGpsApproach()
static
isGpsApproach(approachType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:263
Utility method to check whether an approach is authorized for GPS guidance.
Parameters
Parameter | Type | Description |
---|---|---|
approachType | APPROACH_TYPE_UNKNOWN | APPROACH_TYPE_GPS | APPROACH_TYPE_VOR | APPROACH_TYPE_NDB | APPROACH_TYPE_ILS | APPROACH_TYPE_LOCALIZER | APPROACH_TYPE_SDF | APPROACH_TYPE_LDA | APPROACH_TYPE_VORDME | APPROACH_TYPE_NDBDME | APPROACH_TYPE_RNAV | APPROACH_TYPE_LOCALIZER_BACK_COURSE | APPROACH_TYPE_VISUAL | The approach type. |
Returns
boolean
True if GPS guidance is authorized, false otherwise.
isHeadingToLeg()
static
isHeadingToLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1049
Checks if leg type is a "heading to" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "heading to" leg type.
isHoldAtLeg()
static
isHoldAtLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1058
Checks if leg type is a "hold at" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "hold at" leg type.
isLastLegInSegment()
static
isLastLegInSegment(plan
,segmentIndex
,segmentLegIndex
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:108
Checks if the specified leg is the last leg in the segment (accounting for discontinuities)
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | flight plan |
segmentIndex | number | the segment index |
segmentLegIndex | number | the segment leg index |
Returns
boolean
if the specified leg is the last leg in the segment
isLegHold()
static
isLegHold(leg
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1342
Returns true
if the leg is a hold leg
Parameters
Parameter | Type | Description |
---|---|---|
leg | FlightPlanLeg | the leg in question |
Returns
boolean
the result
isLegValidAirwayExit()
static
isLegValidAirwayExit(airway
,icao
):undefined
|IntersectionFacility
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1178
Checks for an airway exit at a given icao.
Parameters
Parameter | Type | Description |
---|---|---|
airway | AirwayData | The Airway Object. |
icao | string | The icao of the entry to check. |
Returns
undefined
| IntersectionFacility
The Intersection Facility if the leg is a valid exit to the airway.
isLegVectOrDisco()
static
isLegVectOrDisco(leg
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1358
Returns true if a leg is a vector of discontinuity.
Parameters
Parameter | Type | Description |
---|---|---|
leg | FlightPlanLeg | The FlightPlanLeg |
Returns
boolean
Whether the leg is a vector of discontinuity
isLocalizerApproach()
static
isLocalizerApproach(approachType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:277
Utility method to check for an approach with a a tunable localizer.
Parameters
Parameter | Type | Description |
---|---|---|
approachType | ExtendedApproachType | The approach procedure type |
Returns
boolean
True if a localizer needs to be tuned, otherwise false.
isVectorsLeg()
static
isVectorsLeg(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1094
Checks if leg type is a "vectors" leg type.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a "vectors" leg type.
isVtfApproachLoaded()
static
isVtfApproachLoaded(plan
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:339
Checks whether a plan has a vectors-to-final approach loaded.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
boolean
Whether the flight plan has a vectors-to-final approach loaded.
matchIdentToAirway()
static
matchIdentToAirway(airway
,ident
):undefined
|IntersectionFacility
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1188
Checks for an airway exit matching an input ident
Parameters
Parameter | Type | Description |
---|---|---|
airway | AirwayData | The AirwayObject. |
ident | string | The Ident to search for. |
Returns
undefined
| IntersectionFacility
The Intersection Facility if the leg is a valid exit to the airway.
parseAltitudeForDisplay()
static
parseAltitudeForDisplay(altitudeMeters
,transitionAltitudeFeet
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:973
Gets an altitude for display with padding, Flight Level Handling
Parameters
Parameter | Type | Description |
---|---|---|
altitudeMeters | number | the altitude IN METERS to evaluate |
transitionAltitudeFeet | number | the transition altitude IN FEET to evaluate |
Returns
string
A display string
parseConstraintInput()
static
parseConstraintInput(value
,verticalData
):undefined
|boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:738
Copied from the CJ4 mod
Parameters
Parameter | Type | Description |
---|---|---|
value | string | The scratchpad value. |
verticalData | VerticalData | The existing leg vertical data. |
Returns
undefined
| boolean
False if invalid entry.
parseDtkDistanceForDisplay()
static
parseDtkDistanceForDisplay(leg
,isToLeg
,ppos
,distance?
):string
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:990
Gets a DTK and Distance string for the FMC Legs Page Display.
Parameters
Parameter | Type | Description |
---|---|---|
leg | LegDefinition | The Leg Definition. |
isToLeg | boolean | Whether the leg is the TO loeg or not. |
ppos | GeoPoint | The plane's present position. |
distance? | number | A manual distance to calculate with. |
Returns
string
A Display string.
pathVectorHasHoldFlags()
static
pathVectorHasHoldFlags(flags
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1113
Checks if flight path vector has hold flags
Parameters
Parameter | Type | Description |
---|---|---|
flags | number | The vector's flags. |
Returns
boolean
Whether the light path vector has hold flags
reconcileDirectToData()
static
reconcileDirectToData(plan
):void
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1265
Reconciles a flight plan's Direct-To data with its internal leg structure. Scans the legs of the flight plan for Direct-To legs and sets the segment index and segment leg index of the plan's Direct-To data to point to the leg immediately preceding the first Direct-To leg found, or to -1 for both if the plan contains no Direct-To legs.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
void
removeAllDirectToData()
static
removeAllDirectToData(plan
):void
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1288
Removes all of a flight plan's Direct-To data, but from the DirectToData object and from any legs in the plan. Scans the legs of the flight plan for Direct-To legs and removes them.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
void
removeDisplacedActiveLegs()
static
removeDisplacedActiveLegs(plan
):void
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1309
Removes all of a flight plan's Displaced Active Legs, which are flagged when a procedure is added and the active leg array is moved to enroute.
Parameters
Parameter | Type | Description |
---|---|---|
plan | FlightPlan | A flight plan. |
Returns
void
removeFixTypeFlags()
static
removeFixTypeFlags(legs
):FlightPlanLeg
[]
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1328
Removes fix type flags from legs being moved from an approach procedure to the enroute segment.
Parameters
Parameter | Type | Description |
---|---|---|
legs | FlightPlanLeg [] | The FlightPlanLegs to remove fix type flags from. |
Returns
The array of FlightPlanLegs with the flags removed.
removeLegTComp()
static
removeLegTComp(fms
,leg
):void
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1950
Resets the vertical data of the provided leg to the data in the nav database
Parameters
Parameter | Type | Description |
---|---|---|
fms | Epic2Fms | The FMS |
leg | LegDefinition | The leg to be reset |
Returns
void
shouldShowLegCourse()
static
shouldShowLegCourse(legType
):boolean
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1124
Checks if leg type is a course or heading leg, which should have the leg course shown instead of the initial dtk.
Parameters
Parameter | Type | Description |
---|---|---|
legType | LegType | The LegType. |
Returns
boolean
Whether the leg type is a course or heading leg.
sortApproach()
static
sortApproach(a
,b
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1846
Gets the sorting order of two approaches.
Parameters
Parameter | Type | Description |
---|---|---|
a | ApproachProcedure | The first approach to sort. |
b | ApproachProcedure | The second approach to sort. |
Returns
number
A negative number if approach a
comes before approach b
, a positive number if approach a
comes
after approach b
, or zero if both orderings are equivalent.
sortApproachItem()
static
sortApproachItem(a
,b
):number
Defined in: workingtitle-instruments-epic2/shared/Fms/Epic2FmsUtils.ts:1872
Gets the sorting order of two approach items.
Parameters
Parameter | Type | Description |
---|---|---|
a | ApproachListItem | The first approach item to sort. |
b | ApproachListItem | The second approach item to sort. |
Returns
number
A negative number if approach item a
comes before approach item b
, a positive number if approach
item a
comes after approach item b
, or zero if both orderings are equivalent.