Skip to main content

Class: SmoothingPathCalculator

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:243

Handles the calculation of the VNAV flight path for Path Smoothing VNAV Implementations.

Implements

Constructors

Constructor

new SmoothingPathCalculator(bus, flightPlanner, primaryPlanIndex, options?): SmoothingPathCalculator

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:343

Creates an instance of SmoothingPathCalculator.

Parameters

ParameterTypeDescription
busEventBusThe EventBus to use with this instance.
flightPlannerFlightPlannerThe flight planner to use with this instance.
primaryPlanIndexnumberThe primary flight plan index to use to calculate a path from.
options?SmoothingPathCalculatorOptionsOptions for the calculator.

Returns

SmoothingPathCalculator

Properties

applyPathValuesResult

protected readonly applyPathValuesResult: [number | undefined, number]

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:334


bus

protected readonly bus: EventBus

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:344

The EventBus to use with this instance.


directToLegOffset

protected readonly directToLegOffset: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:281


flightPathAngle

flightPathAngle: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:257

The default flight path angle, in degrees, for descent paths. Increasingly positive values indicate steeper descents.

Implementation of

VNavPathCalculator.flightPathAngle


flightPlanner

protected readonly flightPlanner: FlightPlanner

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:345

The flight planner to use with this instance.


forceFirstApproachAtConstraint

protected readonly forceFirstApproachAtConstraint: boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:279


getConstraintAlongTrackOffsetFunc()

protected getConstraintAlongTrackOffsetFunc: (constraint, constraintIndex, verticalLeg, lateralLeg, verticalPlan, lateralPlan) => number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:296

Parameters

ParameterType
constraintUncomputedVNavConstraint
constraintIndexnumber
verticalLegUncomputedVNavLeg
lateralLegLegDefinition
verticalPlanVerticalFlightPlan
lateralPlanFlightPlan

Returns

number


getDescentTargetConstraintAltitudeFunc()

protected getDescentTargetConstraintAltitudeFunc: (constraint, constraintIndex, verticalLeg, lateralLeg, verticalPlan, lateralPlan) => number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:324

Parameters

ParameterType
constraintUncomputedVNavConstraint
constraintIndexnumber
verticalLegUncomputedVNavLeg
lateralLegLegDefinition
verticalPlanVerticalFlightPlan
lateralPlanFlightPlan

Returns

number


getLegConstraintAltitudesFunc()

protected getLegConstraintAltitudesFunc: (out, lateralPlan, lateralLeg, globalLegIndex, segment, segmentLegIndex) => [number, number] | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:283

Parameters

ParameterType
out[number, number]
lateralPlanFlightPlan
lateralLegLegDefinition
globalLegIndexnumber
segmentFlightPlanSegment
segmentLegIndexnumber

Returns

[number, number] | undefined


index

readonly index: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:254

This calculator's VNAV index.


invalidateClimbConstraintFunc()

protected invalidateClimbConstraintFunc: (constraint, index, constraints, firstDescentConstraintIndex, priorMinAltitude, priorMaxAltitude) => boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:305

Parameters

ParameterType
constraintUncomputedVNavConstraint
indexnumber
constraintsreadonly UncomputedVNavConstraint[]
firstDescentConstraintIndexnumber
priorMinAltitudenumber
priorMaxAltitudenumber

Returns

boolean


invalidateDescentConstraintFunc()

protected invalidateDescentConstraintFunc: (constraint, index, constraints, priorMinAltitude, priorMaxAltitude, requiredFpa, maxFpa) => boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:314

Parameters

ParameterType
constraintUncomputedVNavConstraint
indexnumber
constraintsreadonly UncomputedVNavConstraint[]
priorMinAltitudenumber
priorMaxAltitudenumber
requiredFpanumber
maxFpanumber

Returns

boolean


isLegEligibleFunc()

protected isLegEligibleFunc: (lateralLeg) => boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:292

Parameters

ParameterType
lateralLegLegDefinition

Returns

boolean


legAltitudes

protected readonly legAltitudes: [number, number]

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:333


maxFlightPathAngle

maxFlightPathAngle: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:271

The maximum allowed flight path angle, in degrees, for descent paths. Increasingly positive values indicate steeper descents. Paths that require angles greater than the maximum value will have their FPAs clamped to the maximum value, even if this would create a discontinuity in the vertical profile.

Implementation of

VNavPathCalculator.maxFlightPathAngle


minFlightPathAngle

minFlightPathAngle: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:264

The minimum allowed flight path angle, in degrees, for descent paths. Increasingly positive values indicate steeper descents. Paths that require angles less than the minimum value will be assigned the default flight path angle instead to create a step-down descent. Vertical direct-to paths are exempt from the minimum FPA requirement.


planBuilt

readonly planBuilt: ReadonlySubEvent<this, number>

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:274

An event fired when a vertical plan has been built or rebuilt, with the index of the plan as the event data.

Implementation of

VNavPathCalculator.planBuilt


primaryPlanIndex

protected readonly primaryPlanIndex: number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:346

The primary flight plan index to use to calculate a path from.


shouldUseConstraintFunc()

protected shouldUseConstraintFunc: (lateralPlan, lateralLeg, globalLegIndex, segment, segmentLegIndex) => boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:294

Parameters

ParameterType
lateralPlanFlightPlan
lateralLegLegDefinition
globalLegIndexnumber
segmentFlightPlanSegment
segmentLegIndexnumber

Returns

boolean


verticalFlightPlans

protected readonly verticalFlightPlans: (VerticalFlightPlan | undefined)[] = []

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:251

The Vertical Flight Plans managed by this Path Calculator


vnavCalculated

readonly vnavCalculated: ReadonlySubEvent<this, number>

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:277

An event fired when a path has been calculated, with the index of the plan as the event data.

Implementation of

VNavPathCalculator.vnavCalculated


DEFAULT_DEFAULT_FPA

protected readonly static DEFAULT_DEFAULT_FPA: 3 = 3

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:244


DEFAULT_DIRECT_TO_LEG_OFFSET

protected readonly static DEFAULT_DIRECT_TO_LEG_OFFSET: 3 = 3

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:248


DEFAULT_MAX_FPA

protected readonly static DEFAULT_MAX_FPA: 6 = 6

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:246


DEFAULT_MIN_FPA

protected readonly static DEFAULT_MIN_FPA: 1.5 = 1.5

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:245

Methods

activateVerticalDirect()

activateVerticalDirect(planIndex, constraintGlobalLegIndex, fpa?): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:641

Activates a vertical direct to a constraint index.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.
constraintGlobalLegIndexnumberThe global leg index of the constraint to go direct to.
fpa?number-

Returns

void

Implementation of

VNavPathCalculator.activateVerticalDirect


buildConstraint()

protected buildConstraint(verticalPlan, globalLegIndex, lateralLeg, constraintAltitudes, name): VNavConstraint

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:889

Builds a VNAV constraint for a lateral flight plan leg.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan.
globalLegIndexnumberThe global index of the lateral flight plan leg for which to build the constraint.
lateralLegLegDefinitionThe lateral flight plan leg for which to build the constraint.
constraintAltitudes[number, number]The constraint altitudes, as [minimum_altitude, maximum_altitude].
namestringThe name of the new constraint.

Returns

VNavConstraint

A new VNAV constraint for the specified lateral flight plan leg.


buildVerticalFlightPlan()

protected buildVerticalFlightPlan(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:778

Builds a vertical flight plan from a lateral flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan.
verticalPlanVerticalFlightPlanThe vertical flight plan to build.

Returns

void


buildVerticalFlightPlanAndComputeAndNotify()

protected buildVerticalFlightPlanAndComputeAndNotify(planIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:735

Builds a vertical flight plan if its corresponding lateral flight plan has been changed since the last rebuild, then computes the vertical path sends events notifying subscribers that the plan was built and calculated.

Parameters

ParameterTypeDescription
planIndexnumberThe index of the plan to build and compute.

Returns

void


buildVerticalFlightPlanAndNotify()

protected buildVerticalFlightPlanAndNotify(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:768

Builds a vertical flight plan from a lateral flight plan and sends an event notifying subscribers that the plan was built.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan.
verticalPlanVerticalFlightPlanThe vertical flight plan to build.

Returns

void


buildVerticalLegsAndConstraints()

protected buildVerticalLegsAndConstraints(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:789

Resets the Vertical Flight Plan, populates the vertical segments and legs, finds and builds the vertical constraints.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe Lateral Flight Plan.
verticalPlanVerticalFlightPlanThe Vertical Flight Plan.

Returns

void


cancelVerticalDirect()

cancelVerticalDirect(planIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:659

Cancels the existing VNAV direct-to for a vertical flight plan.

Parameters

ParameterTypeDescription
planIndexnumberThe index of the vertical flight plan for which to cancel the VNAV direct-to.

Returns

void


computeDescentPath()

protected computeDescentPath(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:947

Computes the descent path for a flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan for which to compute a path.
verticalPlanVerticalFlightPlanThe vertical flight plan for which to compute a path.

Returns

void


computeFlightPathAngles()

protected computeFlightPathAngles(verticalPlan): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1410

Computes the flight path angles for each constraint segment.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe Vertical Flight Plan.

Returns

boolean

Whether the flight path angles were computed.


computeLegAltitudes()

protected computeLegAltitudes(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1882

Computes flight path altitudes for each leg in a vertical flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan associated with the vertical flight plan for which to calculate leg altitudes.
verticalPlanVerticalFlightPlanThe vertical flight plan for which to calculate leg altitudes.

Returns

void


computePath()

protected computePath(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:938

Computes the vertical path for a flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan for which to compute a path.
verticalPlanVerticalFlightPlanThe vertical flight plan for which to compute a path.

Returns

void


computePathAndNotify()

protected computePathAndNotify(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:928

Computes the vertical path for a flight plan and sends an event notifying subscribers that the plan was calculated.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan for which to compute a path.
verticalPlanVerticalFlightPlanThe vertical flight plan for which to compute a path.

Returns

void


createVerticalPlan()

createVerticalPlan(planIndex): VerticalFlightPlan

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:398

Creates an empty vertical plan at a specified index.

Parameters

ParameterTypeDescription
planIndexnumberThe Vertical Plan Index to create.

Returns

VerticalFlightPlan

The newly created Vertical Plan.

Implementation of

VNavPathCalculator.createVerticalPlan


fillLegDistances()

protected fillLegDistances(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1053

Fills the distance properties of all legs in a vertical flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan associated with the vertical flight plan for which to fill leg distances.
verticalPlanVerticalFlightPlanThe vertical flight plan for which to fill leg distances.

Returns

void


findAndRemoveInvalidConstraints()

protected findAndRemoveInvalidConstraints(verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1088

Finds and removes invalid constraints from the vertical plan.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe Vertical Flight Plan.

Returns

void


getCurrentConstraintAltitude()

getCurrentConstraintAltitude(planIndex, globalLegIndex): number | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:526

Gets and returns the current constraint altitude in meters.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.
globalLegIndexnumberThe global index of the leg for which to get the current constraint.

Returns

number | undefined

The current constraint altitude in meters, or undefined if there is no current constraint.

Implementation of

VNavPathCalculator.getCurrentConstraintAltitude


getCurrentConstraintDetails()

getCurrentConstraintDetails(planIndex, globalLegIndex): AltitudeConstraintDetails

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:549

Gets and returns the current constraint details.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.
globalLegIndexnumberis the global leg index to check.

Returns

AltitudeConstraintDetails

the VNavConstraintDetails.

Implementation of

VNavPathCalculator.getCurrentConstraintDetails


getDescentTargetConstraintAltitude()

protected getDescentTargetConstraintAltitude(constraint, constraintIndex, verticalLeg, lateralLeg, verticalPlan, lateralPlan): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1803

Gets the target altitude to use for a target descent constraint, in meters.

Parameters

ParameterTypeDescription
constraintVNavConstraintThe constraint for which to get a target altitude.
constraintIndexnumberThe index of the constraint for which to get a target altitude.
verticalLegVNavLegThe vertical flight plan leg that hosts the constraint for which to get a target altitude.
lateralLegLegDefinitionThe lateral flight plan leg that hosts the constraint for which to get a target altitude.
verticalPlanVerticalFlightPlanThe vertical flight plan containing the constraint for which to get a target altitude.
lateralPlanFlightPlanThe lateral flight plan associated with the constraint for which to get a target altitude.

Returns

number

The target altitude to use for the specified target descent constraint, in meters.


getFirstDescentConstraintAltitude()

getFirstDescentConstraintAltitude(planIndex): number | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1958

Gets the first VNAV Constraint Altitude.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.

Returns

number | undefined

The first VNAV constraint altitude in the plan.

Implementation of

VNavPathCalculator.getFirstDescentConstraintAltitude


getFlightPhase()

getFlightPhase(planIndex): VerticalFlightPhase

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:508

Gets and returns the Current Vertical Flight Phase.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.

Returns

VerticalFlightPhase

the VerticalFlightPhase.

Implementation of

VNavPathCalculator.getFlightPhase


getNextConstraintAltitude()

getNextConstraintAltitude(planIndex, globalLegIndex): number | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:576

Gets and returns the next constraint altitude in meters.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.
globalLegIndexnumberThe global index of the leg for which to get the next constraint.

Returns

number | undefined

The next constraint altitude in meters or undefined if there is no next constraint.

Implementation of

VNavPathCalculator.getNextConstraintAltitude


getNextRestrictionForFlightPhase()

getNextRestrictionForFlightPhase(planIndex, activeLateralLeg): VNavConstraint | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:602

Gets the next altitude limit for the current phase of flight. (used to calculate the required VS and is not always the next constraint) In descent, this will return the next above altitude in the vertical plan. In climb, this will return the next below altitude in the vertical plan.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.
activeLateralLegnumberThe current active lateral leg.

Returns

VNavConstraint | undefined

The VNavConstraint not to exceed appropriate to the current phase of flight, or undefined if one does not exist.

Implementation of

VNavPathCalculator.getNextRestrictionForFlightPhase


getTargetAltitude()

getTargetAltitude(planIndex, globalLegIndex): number | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:499

Gets the VNAV target altitude for a flight plan leg.

Parameters

ParameterTypeDescription
planIndexnumberThe flight plan index.
globalLegIndexnumberThe global index of the flight plan leg.

Returns

number | undefined

The VNAV target altitude for the specified flight plan leg, or undefined if none exists.

Implementation of

VNavPathCalculator.getTargetAltitude


getTargetConstraint()

getTargetConstraint(planIndex, globalLegIndex): VNavConstraint | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:493

Gets the VNAV constraint defining the target VNAV altitude for a flight plan leg.

Parameters

ParameterTypeDescription
planIndexnumberThe flight plan index.
globalLegIndexnumberThe global index of the flight plan leg.

Returns

VNavConstraint | undefined

The VNAV constraint defining the target VNAV altitude for a flight plan leg, or undefined if one could not be found.

Implementation of

VNavPathCalculator.getTargetConstraint


getTargetConstraintIndex()

getTargetConstraintIndex(planIndex, globalLegIndex): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:440

Gets the index of the VNAV constraint defining the target VNAV altitude for a flight plan leg.

Parameters

ParameterTypeDescription
planIndexnumberThe flight plan index.
globalLegIndexnumberThe global index of the flight plan leg.

Returns

number

The index of the VNAV constraint defining the target VNAV altitude for a flight plan leg, or -1 if one could not be found.

Implementation of

VNavPathCalculator.getTargetConstraintIndex


getVerticalFlightPlan()

getVerticalFlightPlan(planIndex): VerticalFlightPlan

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:393

Gets a vertical flight plan by index, or throws not found if the plan does not exist.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.

Returns

VerticalFlightPlan

The requested vertical flight plan.

Throws

Not found if the flight plan index is not valid.

Implementation of

VNavPathCalculator.getVerticalFlightPlan


notifyBuilt()

protected notifyBuilt(planIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:750

Sends an event notifying subscribers that a vertical flight plan was built or rebuilt.

Parameters

ParameterTypeDescription
planIndexnumberThe index of the plan that was built.

Returns

void


notifyCalculated()

protected notifyCalculated(planIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:758

Sends an event notifying subscribers that a vertical flight plan was calculated.

Parameters

ParameterTypeDescription
planIndexnumberThe index of the plan that was calculated.

Returns

void


onPlanCalculated()

protected onPlanCalculated(event): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:726

Method fired on a flight plan change event to rebuild the vertical path.

Parameters

ParameterTypeDescription
eventFlightPlanCalculatedEventThe Flight Plan Calculated Event

Returns

void


onPlanChanged()

protected onPlanChanged(planIndex, legChangeEvent?, segmentChangeEvent?): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:699

Sets planChanged to true to flag that a plan change has been received over the bus.

Parameters

ParameterTypeDescription
planIndexnumberThe Plan Index that changed.
legChangeEvent?FlightPlanLegEventThe FlightPlanLegEvent, if any.
segmentChangeEvent?FlightPlanSegmentEventThe FlightPlanSegmentEvent, if any.

Returns

void


populateConstraints()

protected populateConstraints(verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1279

Populates a vertical flight plan's constraints with legs, updates the constraint distances and VNAV path eligibility data, and resets the constraint path and FPA data.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan for which to populate constraints.

Returns

void


refreshConstraintAlongTrackOffsets()

protected refreshConstraintAlongTrackOffsets(lateralPlan, verticalPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1259

Refreshes the along-track offsets to use for all constraints in a vertical flight plan.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe lateral flight plan associated with the vertical flight plan containing the constraints to refresh.
verticalPlanVerticalFlightPlanThe vertical flight plan containing the constraints to refresh.

Returns

void


refreshConstraintDistance()

protected refreshConstraintDistance(verticalPlan, constraintIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1386

Refreshes the distance property of a VNAV constraint based on the distances of the legs contained in the constraint's leg array, the constraint's along-track offset, and the along-track offset of the prior constraint (if one exists).

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan containing the constraint to refresh.
constraintIndexnumberThe index of the constraint to refresh.

Returns

void


refreshConstraintLocation()

protected refreshConstraintLocation(verticalPlan, constraintIndex): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1328

Refreshes the location of a VNAV constraint based on its along-track offset.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan containing the constraint to refresh.
constraintIndexnumberThe index of the constraint to refresh.

Returns

void


reinsertInvalidConstraints()

protected reinsertInvalidConstraints(verticalPlan, lateralPlan): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1208

Finds previously invalidated constraints and re-inserts them into the vertical flight plan.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe Vertical Flight Plan.
lateralPlanFlightPlanThe Lateral Flight Plan.

Returns

void


requestPathCompute()

requestPathCompute(planIndex): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:421

Request an out-of-cycle path computation for a specified vertical flight plan.

Parameters

ParameterTypeDescription
planIndexnumberThe vertical flight plan index.

Returns

boolean

Whether or not the computation was completed successfully.

Implementation of

VNavPathCalculator.requestPathCompute


setDefaultFpa()

protected setDefaultFpa(fpa): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:677

Sets this calculator's default flight path angle.

Parameters

ParameterTypeDescription
fpanumberThe new default flight path angle, in degrees. Increasingly positive values indicate steeper descents.

Returns

void


terminateSmoothedPath()

protected terminateSmoothedPath(verticalPlan, targetConstraintIndex, terminatingConstraintIndex, maxAltitude, terminatingConstraintIsTarget): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1836

Attempts to extend and terminate a constant-FPA path from an existing target constraint at another constraint, applying flight path angles and target altitudes to each constraint along the path. The target constraint defines the FPA of the path.

If the target altitude of one of the constraints in the sequence, as prescribed by the path, violates a maximum altitude, the path will be terminated at the constraint immediately following (in flight plan order) the violating constraint, and FPA and target altitudes will not be written to the terminating constraint or any prior constraints.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan.
targetConstraintIndexnumberThe index of the target constraint.
terminatingConstraintIndexnumberThe index of the constraint at which to terminate the path.
maxAltitudenumberThe maximum allowable target altitude, in meters.
terminatingConstraintIsTargetbooleanWhether to designate the terminating constraint as a target constraint if the path is not terminated early. If the path is terminated early, this argument is ignored and the constraint at which the path was terminated early is always designated as a target constraint.

Returns

number

The index of the constraint at which the constant-FPA path was actually terminated.


applyPathValuesToSmoothedConstraints()

protected static applyPathValuesToSmoothedConstraints(verticalPlan, targetConstraintIndex, endConstraintIndex, maxAltitude, out): [number | undefined, number]

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2307

Applies flight path angle and target altitude values to a sequence of constraints connected to a target constraint by a constant-FPA path extending backwards from the target constraint. The target constraint defines the FPA of the path.

If the target altitude of one of the constraints in the sequence, as prescribed by the path, violates a maximum altitude, the path will be terminated at the constraint immediately following (in flight plan order) the violating constraint, and FPA and target altitudes will not be written to the terminating constraint or any prior constraints.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan.
targetConstraintIndexnumberThe index of the target constraint.
endConstraintIndexnumberThe index of the constraint at which the constant-FPA path ends, exclusive.
maxAltitudenumberThe maximum allowable target altitude, in meters.
out[number | undefined, number]The tuple to which to write the result of the operation.

Returns

[number | undefined, number]

[index, distance], where index is the index of the constraint at which the path was terminated due to violation of the maximum target altitude, or undefined if no constraint violated the maximum altitude, and distance is the total distance of the path, in meters.


doesConstraintRequireInvalidFpa()

protected static doesConstraintRequireInvalidFpa(previousConstrant, currentConstraint, verticalPlan, maxFpa): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2117

Checks whether a leg constraint requires an FPA greater than the max allowed value.

Parameters

ParameterTypeDescription
previousConstrantVNavConstraintThe previous VNavConstraint.
currentConstraintVNavConstraintThe VNavConstraint being evaluated.
verticalPlanVerticalFlightPlanThe vertical flight plan.
maxFpanumberThe maximum FPA allowed.

Returns

boolean

Whether this constraint requires an invalid FPA.


findPriorMaxAltitude()

protected static findPriorMaxAltitude(verticalPlan, constraintIndex, firstDescentConstraintIndex): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2266

Finds the maximum altitude, in meters, of the constraint that defines a maximum altitude and is closest to a given constraint, among all constraints prior to and including (in flight plan order) the given constraint. If a vertical direct constraint is among the candidates, its minimum altitude is used if it does not define a maximum altitude.

Parameters

ParameterTypeDescription
verticalPlanVerticalFlightPlanThe vertical flight plan.
constraintIndexnumberThe index of the constraint for which to find the closest prior maximum altitude.
firstDescentConstraintIndexnumberThe index of the first descent constraint.

Returns

number

The maximum altitude, in meters, of the constraint that defines a maximum altitude and is closest to the specified constraint, among all constraints prior to and including (in flight plan order) the specified constraint, or Infinity if there is no such altitude.


forceAtConstraint()

protected static forceAtConstraint(constraint): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2009

Forces a constraint to an AT constraint.

Parameters

ParameterTypeDescription
constraintVNavConstraintThe constraint to force to an AT constraint.

Returns

void


getConstraintAlongTrackOffset()

static getConstraintAlongTrackOffset(constraint, constraintIndex, verticalLeg, lateralLeg): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2187

The default function that gets the along-track offset to use for a VNAV constraint. The offset is taken from the along-track offset defined by the vertical data of the constraint's host lateral leg.

Parameters

ParameterTypeDescription
constraintUncomputedVNavConstraintThe constraint for which to get an along-track offset.
constraintIndexnumberThe index of the constraint for which to get an along-track offset.
verticalLegUncomputedVNavLegThe vertical flight plan leg that hosts the constraint for which to get an along-track offset.
lateralLegLegDefinitionThe lateral flight plan leg that hosts the constraint for which to get an along-track offset.

Returns

number

The along-track offset to use for the specified VNAV constraint, in meters. An offset of zero indicates the constraint is coincident with the end of its host leg, positive offsets move the constraint forward along the flight plan, and negative offsets move the constraint backward along the flight plan.


getConstraintAltitudes()

protected static getConstraintAltitudes(leg, out): [number, number] | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:1981

Gets the constraint altitudes for a lateral flight plan leg.

Parameters

ParameterTypeDescription
legLegDefinitionA lateral flight plan leg.
out[number, number]The tuple to which to write the altitudes, as [minimum_altitude, maximum_altitude].

Returns

[number, number] | undefined

The constraint altitudes, in meters, for the specified flight plan leg, as [minimum_altitude, maximum_altitude], or undefined if the leg does not define any altitude constraints.


getDescentTargetConstraintAltitude()

static getDescentTargetConstraintAltitude(constraint): number

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2248

The default function that gets the target altitude to use for a target descent constraint, in meters. The selected target altitude is equal to the constraint's minimum altitude if it is defined, or the constraint's maximum altitude otherwise.

Parameters

ParameterTypeDescription
constraintUncomputedVNavConstraintThe constraint for which to get a target altitude.

Returns

number

The target altitude to use for the specified target descent constraint, in meters.


getDirectToTargetLegIndex()

protected static getDirectToTargetLegIndex(lateralPlan): number | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2025

Gets the global index of a flight plan's lateral direct-to target leg.

Parameters

ParameterTypeDescription
lateralPlanFlightPlanA flight plan.

Returns

number | undefined

The global index of the flight plan's lateral direct-to target leg, or undefined if the plan does not have an existing lateral direct-to.


getLegConstraintAltitudes()

static getLegConstraintAltitudes(out, lateralPlan, lateralLeg): [number, number] | undefined

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2155

The default function that gets the minimum and maximum altitudes to enforce for a VNAV constraint assigned to a lateral flight plan leg. The minimum and maximum altitudes will be taken from the leg's vertical data based on the value of the altitude restriction type field as follows:

Parameters

ParameterTypeDescription
out[number, number]The tuple to which to write the minimum and maximum altitudes, as [minimum_altitude, maximum_altitude] in meters.
lateralPlanFlightPlanThe lateral flight plan that hosts the leg for which to get the constraint altitudes.
lateralLegLegDefinitionThe lateral flight plan leg for which to get the constraint altitudes.

Returns

[number, number] | undefined

The minimum and maximum altitudes to enforce for a VNAV constraint assigned to the specified lateral flight plan leg, as the tuple passed to the out parameter, or undefined if there should be no constraint assigned to the leg.


handleDirectToLegInVerticalPlan()

protected static handleDirectToLegInVerticalPlan(lateralPlan, verticalPlan, directToLegOffset): void

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2046

Checks if there is a lateral direct-to leg in the flight plan and if so, flags the corresponding vertical flight plan leg as such and marks the first descent constraint

Parameters

ParameterTypeDescription
lateralPlanFlightPlanThe Lateral Flight Plan.
verticalPlanVerticalFlightPlanThe Vertical Flight Plan.
directToLegOffsetnumberThe offset of the lateral direct-to leg from the direct-to target leg.

Returns

void


invalidateClimbConstraint()

static invalidateClimbConstraint(): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2201

The default function that checks whether a climb constraint should be invalidated. This function always returns false.

Returns

boolean

Whether the specified climb constraint should be invalidated (always false).


invalidateDescentConstraint()

static invalidateDescentConstraint(constraint, index, constraints, priorMinAltitude, priorMaxAltitude, requiredFpa, maxFpa): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2229

The default function that checks whether a descent constraint should be invalidated. A constraint is invalidated if any of the following conditions is met:

  • The constraint defines a minimum altitude and the minimum altitude is greater than the most recent maximum altitude defined by a prior constraint that is connected to the constraint to check by a contiguous sequence of descent constraints.
  • The required flight path angle to meet the constraint is greater than the maximum allowed flight path angle.

Parameters

ParameterTypeDescription
constraintUncomputedVNavConstraintThe descent constraint to check.
indexnumberThe index of the constraint to check.
constraintsreadonly UncomputedVNavConstraint[]The array of VNAV constraints currently in the vertical flight plan.
priorMinAltitudenumberThe most recent minimum altitude, in meters, defined by a VNAV constraint prior to the constraint to check. Only prior constraints connected to the constraint to check by a contiguous sequence of descent constraints are included.
priorMaxAltitudenumberThe most recent maximum altitude, in meters, defined by a VNAV constraint prior to the constraint to check. Only prior constraints connected to the constraint to check by a contiguous sequence of descent constraints are included.
requiredFpanumberThe minimum flight path angle, in degrees, required to meet the maximum altitude of the constraint to check, assuming a descent starting from the constraint defining the most recent prior minimum altitude. Positive values indicate a descending path. If there is no required FPA because there is no defined prior minimum altitude or maximum altitude for the constraint to check, or if the constraint to check is higher than the prior minimum altitude, then this value will equal zero.
maxFpanumberThe maximum allowed flight path angle, in degrees. Positive values indicate a descending path.

Returns

boolean

Whether the specified descent constraint should be invalidated.


isConstraintHigherThanPriorConstraint()

protected static isConstraintHigherThanPriorConstraint(previousConstrant, currentConstraint): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2098

Checks whether a leg constriant is a descent constraint and is higher than the prior descent leg constraint.

Parameters

ParameterTypeDescription
previousConstrantVNavConstraintThe previous VNav Constraint.
currentConstraintVNavConstraintThe current VNav Constraint.

Returns

boolean

Whether the current constraint is higher than the previous constraint.


isConstraintInMissedApproach()

protected static isConstraintInMissedApproach(lateralSegment, lateralLeg): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2083

Checks whether a leg constraint is part of the missed approach.

Parameters

ParameterTypeDescription
lateralSegmentFlightPlanSegmentThe lateral flight plan segment to which the constraint's leg belongs.
lateralLegLegDefinitionThe lateral flight plan leg to which the constraint belongs.

Returns

boolean

Whether the leg constraint is part of the missed approach.


isLegVnavEligible()

static isLegVnavEligible(lateralLeg): boolean

Defined in: src/sdk/autopilot/calculators/SmoothingPathCalculator.ts:2164

The default function that checks whether a lateral flight plan leg is eligible for VNAV.

Parameters

ParameterTypeDescription
lateralLegLegDefinitionA lateral flight plan leg.

Returns

boolean

Whether the specified leg is eligible for VNAV.