Skip to main content

Abstract Class: CircleInterceptLegCalculator

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:100

Calculates flight path vectors for legs with great-circle paths that terminate when intercepting another geo circle.

Extends

Extended by

Constructors

Constructor

new CircleInterceptLegCalculator(facilityCache, isHeadingLeg): CircleInterceptLegCalculator

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:138

Creates a new instance of CircleInterceptLegCalculator.

Parameters

ParameterTypeDescription
facilityCacheFlightPathCalculatorFacilityCacheThis calculator's cache of facilities.
isHeadingLegbooleanWhether this calculator calculates flight plan legs flown with constant heading.

Returns

CircleInterceptLegCalculator

Overrides

AbstractFlightPathLegCalculator.constructor

Properties

canSkipWhenActive

protected readonly canSkipWhenActive: boolean

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:29

Whether this calculator can skip leg calculations when the leg to calculate is the active flight plan leg.

Inherited from

AbstractFlightPathLegCalculator.canSkipWhenActive


circleInterceptVectorBuilder

protected readonly circleInterceptVectorBuilder: CircleInterceptVectorBuilder

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:107


circleVectorBuilder

protected readonly circleVectorBuilder: CircleVectorBuilder

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:106


directToPointVectorBuilder

protected readonly directToPointVectorBuilder: DirectToPointVectorBuilder

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:108


facilityCache

protected readonly facilityCache: FlightPathCalculatorFacilityCache

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:28

This calculator's cache of facilities.

Inherited from

AbstractFlightPathLegCalculator.facilityCache


interceptCircleToPointVectorBuilder

protected readonly interceptCircleToPointVectorBuilder: InterceptCircleToPointVectorBuilder

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:109


isHeadingLeg

protected readonly isHeadingLeg: boolean

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:138

Whether this calculator calculates flight plan legs flown with constant heading.

Methods

calculate()

calculate(legs, calculateIndex, activeLegIndex, state, options): LegCalculations

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:223

Calculates flight path vectors for a flight plan leg and adds the calculations to the leg.

Parameters

ParameterTypeDescription
legsLegDefinition[]A sequence of flight plan legs.
calculateIndexnumberThe index of the leg to calculate.
activeLegIndexnumberThe index of the active leg.
stateFlightPathStateThe current flight path state.
optionsReadonly<FlightPathLegCalculationOptions>Options to use for the calculation.

Returns

LegCalculations

The flight plan leg calculations.

Inherited from

AbstractFlightPathLegCalculator.calculate


calculateDesiredIntersectionInfo()

protected calculateDesiredIntersectionInfo(start, interceptPath, pathToInterceptCircle, pathToInterceptStart, pathToInterceptEnd, pathToInterceptAngularWidth, out): CircleInterceptLegDesiredIntersectionInfo

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:826

Calculates information describing the desired intersection between a defined intercept path and a path to intercept.

Parameters

ParameterTypeDescription
startReadonlyFloat64ArrayThe starting point of the intercept path.
interceptPathGeoCircleA GeoCircle that defines the intercept path. Must be a great circle.
pathToInterceptCircleGeoCircleA geo circle that defines the path to intercept.
pathToInterceptStartundefined | Readonly<Omit<Float64Array<ArrayBufferLike>, "set" | "sort" | "copyWithin">>The start of the path to intercept along its defining GeoCircle, or undefined if the path to intercept encompasses the entire circle.
pathToInterceptEndundefined | Readonly<Omit<Float64Array<ArrayBufferLike>, "set" | "sort" | "copyWithin">>The end of the path to intercept along its defining GeoCircle, or `undefined1 if the path to intercept encompasses the entire circle.
pathToInterceptAngularWidthnumberThe angular width of the path to intercept along its defining GeoCircle, in radians.
outCircleInterceptLegDesiredIntersectionInfoThe object to which to write the results.

Returns

CircleInterceptLegDesiredIntersectionInfo

Information describing the desired intersection between a defined intercept path and a path to intercept.


calculateFallbackInterceptInfo()

protected calculateFallbackInterceptInfo(start, interceptPath, pathToInterceptCircle, pathToInterceptStart, pathToInterceptEnd, pathToInterceptAngularWidth, forceFallback, out): CircleInterceptLegFallbackInterceptInfo

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:940

Calculates information describing a potential fallback path that intercepts a path to intercept from a defined starting point.

Parameters

ParameterTypeDescription
startReadonlyFloat64ArrayThe starting point of the intercept path.
interceptPathGeoCircleA GeoCircle that defines the intercept path. Must be a great circle.
pathToInterceptCircleGeoCircleA geo circle that defines the path to intercept.
pathToInterceptStartundefined | Readonly<Omit<Float64Array<ArrayBufferLike>, "set" | "sort" | "copyWithin">>The start of the path to intercept along its defining GeoCircle, or undefined if the path to intercept encompasses the entire circle.
pathToInterceptEndundefined | Readonly<Omit<Float64Array<ArrayBufferLike>, "set" | "sort" | "copyWithin">>The end of the path to intercept along its defining GeoCircle, or `undefined1 if the path to intercept encompasses the entire circle.
pathToInterceptAngularWidthnumberThe angular width of the path to intercept along its defining GeoCircle, in radians.
forceFallbackbooleanWhether to force a fallback intercept point to be calculated even under conditions where it is not otherwise required.
outCircleInterceptLegFallbackInterceptInfoThe object to which to write the results.

Returns

CircleInterceptLegFallbackInterceptInfo

Information describing a potential fallback path that intercepts the specified path to intercept from the defined starting point.


calculateMagVar()

abstract protected calculateMagVar(legs, calculateIndex, activeLegIndex, state, options): void

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:363

Calculates the magnetic variation for a flight plan leg.

Parameters

ParameterTypeDescription
legsLegDefinition[]A sequence of flight plan legs.
calculateIndexnumberThe index of the leg to calculate.
activeLegIndexnumberThe index of the active leg.
stateFlightPathStateThe current flight path state.
optionsReadonly<FlightPathLegCalculationOptions>Options to use for the leg calculations.

Returns

void

The number of vectors added to the sequence.

Inherited from

AbstractFlightPathLegCalculator.calculateMagVar


calculateVectors()

protected calculateVectors(legs, calculateIndex, activeLegIndex, state): void

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:143

Calculates flight path vectors for a flight plan leg.

Parameters

ParameterTypeDescription
legsLegDefinition[]A sequence of flight plan legs.
calculateIndexnumberThe index of the leg to calculate.
activeLegIndexnumberThe index of the active leg.
stateFlightPathStateThe current flight path state.

Returns

void

The number of vectors added to the sequence.

Overrides

AbstractFlightPathLegCalculator.calculateVectors


getInterceptCourseInfo()

protected getInterceptCourseInfo(legs, calculateIndex, activeLegIndex, state, out): undefined | CircleInterceptLegInterceptCourseInfo

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:751

Gets information describing the course to use to intercept the path to intercept for a flight plan leg to calculate.

Parameters

ParameterTypeDescription
legsLegDefinition[]An array of legs containing the flight plan leg to calculate.
calculateIndexnumberThe index of the flight plan leg to calculate.
activeLegIndexnumberThe index of the active flight plan leg.
stateFlightPathStateThe current flight path state.
outCircleInterceptLegInterceptCourseInfoThe object to which to write the result.

Returns

undefined | CircleInterceptLegInterceptCourseInfo

Information describing the course to use to intercept the path to intercept for the specified flight plan leg to calculate, or undefined if an intercept course could not be defined.


getLegMagVar()

Call Signature

protected getLegMagVar(leg): undefined | number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:134

Gets the magnetic variation, in degrees, to use when calculating a flight plan leg's course. If the leg defines an origin or fix VOR facility, then the database magnetic variation defined for the VOR is used (the origin facility takes priority).

Parameters
ParameterTypeDescription
legFlightPlanLegA flight plan leg.
Returns

undefined | number

The magnetic variation, in degrees, to use when calculating the specified flight plan leg's course, or undefined if the leg does not define an origin or fix VOR facility.

Inherited from

AbstractFlightPathLegCalculator.getLegMagVar

Call Signature

protected getLegMagVar(leg, defaultPoint): number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:143

Gets the magnetic variation, in degrees, to use when calculating a flight plan leg's course. If the leg defines an origin or fix VOR facility, then the database magnetic variation defined for the VOR is used (the origin facility takes priority). Otherwise, the model magnetic variation for the specified point is used.

Parameters
ParameterTypeDescription
legFlightPlanLegA flight plan leg.
defaultPointLatLonInterfaceThe location from which to get magnetic variation if an origin or fix VOR is not found.
Returns

number

The magnetic variation, in degrees, to use when calculating the specified flight plan leg's course.

Inherited from

AbstractFlightPathLegCalculator.getLegMagVar

Call Signature

protected getLegMagVar(leg, defaultPoint?): undefined | number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:153

Gets the magnetic variation, in degrees, to use when calculating a flight plan leg's course. If the leg defines an origin or fix VOR facility, then the database magnetic variation defined for the VOR is used (the origin facility takes priority). Otherwise, the model magnetic variation for the specified point, if defined, is used.

Parameters
ParameterTypeDescription
legFlightPlanLegA flight plan leg.
defaultPoint?LatLonInterfaceThe location from which to get magnetic variation if an origin or fix VOR is not found.
Returns

undefined | number

The magnetic variation, in degrees, to use when calculating the specified flight plan leg's course, or undefined if the leg does not define an origin or fix VOR facility and a default point was not provided.

Inherited from

AbstractFlightPathLegCalculator.getLegMagVar


getLegTrueCourse()

protected getLegTrueCourse(leg): undefined | number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:175

Gets the true course, in degrees, for a flight plan leg. If the leg defines an origin or fix VOR facility, then the magnetic variation defined at the VOR is used to adjust magnetic course. Otherwise the computed magnetic variation for the specified point is used.

Parameters

ParameterTypeDescription
legFlightPlanLegA flight plan leg.

Returns

undefined | number

The true course, in degrees, for the flight plan leg.

Inherited from

AbstractFlightPathLegCalculator.getLegTrueCourse


getMagVarFromIcao()

protected getMagVarFromIcao(icao): undefined | number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:52

Gets the magnetic variation, in degrees, at a facility. If the facility is a VOR and it has a nominal database magnetic variation, then that value will be returned. Otherwise, the model magnetic variation at the facility's position will be returned.

Parameters

ParameterTypeDescription
icaoIcaoValueThe ICAO value of the facility.

Returns

undefined | number

The magnetic variation, in degrees, at the specified facility, or undefined if the specified facility could not be retrieved.

Inherited from

AbstractFlightPathLegCalculator.getMagVarFromIcao


getPathToInterceptInfo()

abstract protected getPathToInterceptInfo(legs, calculateIndex, activeLegIndex, state, out): undefined | CircleInterceptLegPathToInterceptInfo

Defined in: src/sdk/flightplan/flightpath/legcalculators/CircleInterceptLegCalculator.ts:799

Gets information describing the path to intercept for a flight plan leg to calculate.

Parameters

ParameterTypeDescription
legsLegDefinition[]An array of legs containing the flight plan leg to calculate.
calculateIndexnumberThe index of the flight plan leg to calculate.
activeLegIndexnumberThe index of the active flight plan leg.
stateFlightPathStateThe current flight path state.
outCircleInterceptLegPathToInterceptInfoThe object to which to write the result.

Returns

undefined | CircleInterceptLegPathToInterceptInfo

Information describing the path to intercept for the specified flight plan leg to calculate, or undefined if a path to intercept could not be defined.


getPositionFromIcao()

protected getPositionFromIcao(icao, out): undefined | GeoPoint

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:39

Gets a geographical position from an ICAO value.

Parameters

ParameterTypeDescription
icaoIcaoValueAn ICAO value.
outGeoPointA GeoPoint object to which to write the result.

Returns

undefined | GeoPoint

The geographical position corresponding to the ICAO string, or undefined if one could not be obtained.

Inherited from

AbstractFlightPathLegCalculator.getPositionFromIcao


getTerminatorMagVar()

protected getTerminatorMagVar(leg): undefined | number

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:118

Gets the magnetic variation, in degrees, at a flight plan leg's terminator fix. If the fix is a VOR and it has a nominal database magnetic variation, then that value will be returned. Otherwise, the model magnetic variation at the fix's position will be returned.

Parameters

ParameterTypeDescription
legFlightPlanLegA flight plan leg.

Returns

undefined | number

The magnetic variation, in degrees, at the specified flight plan leg's terminator fix, or undefined if the magnetic variation could not be determined.

Inherited from

AbstractFlightPathLegCalculator.getTerminatorMagVar


getTerminatorPosition()

protected getTerminatorPosition(leg, out, icao?): undefined | GeoPoint

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:75

Gets the geographic position for a flight plan leg terminator.

Parameters

ParameterTypeDescription
legFlightPlanLegA flight plan leg.
outGeoPointA GeoPoint object to which to write the result.
icao?IcaoValueThe ICAO value of the leg's terminator fix. If not defined, then the terminator fix will be retrieved from the flight plan leg, if necessary.

Returns

undefined | GeoPoint

The position of the leg terminator, or undefined if it could not be determined.

Inherited from

AbstractFlightPathLegCalculator.getTerminatorPosition


resolveIngressToEgress()

protected resolveIngressToEgress(legCalc): void

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:392

Calculates the ingress to egress vectors for a flight plan leg and adds them to a leg calculation.

Parameters

ParameterTypeDescription
legCalcLegCalculationsThe calculations for a flight plan leg.

Returns

void

Inherited from

AbstractFlightPathLegCalculator.resolveIngressToEgress


shouldSkipWhenActive()

protected shouldSkipWhenActive(legs, calculateIndex, activeLegIndex, state, options): boolean

Defined in: src/sdk/flightplan/flightpath/legcalculators/AbstractFlightPathLegCalculator.ts:341

Checks whether vector calculations should be skipped when the leg to calculate is the active leg.

Parameters

ParameterTypeDescription
legsLegDefinition[]A sequence of flight plan legs.
calculateIndexnumberThe index of the leg to calculate.
activeLegIndexnumberThe index of the active leg.
stateFlightPathStateThe current flight path state.
optionsReadonly<FlightPathLegCalculationOptions>Options to use for the leg calculations.

Returns

boolean

Whether to skip vector calculations.

Inherited from

AbstractFlightPathLegCalculator.shouldSkipWhenActive