STK AviatorSend comments on this topic.
IAgAvtrProcedureCollection Interface

Description

Interface used to access the collection of procedures for a given phase in a mission. Use this interface to Get, Add, or Remove a procedure.

Public Methods

Public Method AddAdds a procedure with the specified site at the end of the current phase.
Public Method AddAtIndexAdds a procedure with the specified site at the given index.
Public Method DisableAutoPropagateDisable automatically propagating the mission. Use with caution. Aviator will not automatically propagate before adding new procedures.
Public Method EnableAutoPropagateEnable automatically propagating the mission. Aviator will automatically propagate before adding a procedure, ensuring a valid initial state for the new procedure.
Public Method RemoveRemove given procedure.
Public Method RemoveAtIndexRemove procedure at the given index.

Public Properties

Public Property CountReturns the number of elements in a collection.
Public Property ItemGiven an index, returns an element in the collection.

CoClasses that Implement IAgAvtrProcedureCollection

Example

Add and remove procedures
[C#]
// Add a takeoff procedure with a runway as a site. This will add the procedure
IAgAvtrProcedure takeoff = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff);
// Add a procedure at a given index (starting from 0)
IAgAvtrProcedure enroute = procedures.AddAtIndex(1, AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute);

// Make sure to propagate the mission to calculate the route
propagator.Propagate();
// Get the mission
IAgAvtrMission mission = propagator.AvtrMission;
// Check to see if the mission is valid (must first be propagated)
bool isValid = mission.IsValid;

// Get the number of procedures
int procedureCount = procedures.Count;
// Remove the procedure at the given index
procedures.RemoveAtIndex(1);
// Remove the given procedure
procedures.Remove(takeoff);

// Propagate the mission
propagator.Propagate();
Add a takeoff procedure from a runway
[C#]
// Add a takeoff procedure with a runway as a site
IAgAvtrProcedureTakeoff takeoff = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff) as IAgAvtrProcedureTakeoff;

// Get the runway heading options
IAgAvtrRunwayHeadingOptions headingOptions = takeoff.RunwayHeadingOptions;
// Opt to use the headwind runway
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eHeadwind;

// Set the takeoff mode and get that interface
takeoff.TakeoffMode = AgEAvtrTakeoffMode.eTakeoffNormal;
IAgAvtrTakeoffNormal takeoffNormal = takeoff.ModeAsNormal;

// Set the takeoff climb angle
takeoffNormal.TakeoffClimbAngle = 5;
// Set the departure altitude above the runway
takeoffNormal.DepartureAltitude = 600;
// Set the altitude offset for the runway
takeoffNormal.RunwayAltitudeOffset = 10;
// Use terrain for the runway's altitude
takeoffNormal.UseRunwayTerrain = true;
Add and configure an enroute procedure
[C#]
// Add an enroute procedure with a site type of End of Previous Procedure
IAgAvtrProcedureEnroute enroute = procedures.Add(AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute) as IAgAvtrProcedureEnroute;
//Get the altitude options
IAgAvtrAltitudeMSLAndLevelOffOptions altitudeOptions = enroute.AltitudeMSLOptions;
// To specify an altitude, turn off the option to use the default cruise altitude
altitudeOptions.UseDefaultCruiseAltitude = false;
// Set the altitude
altitudeOptions.MSLAltitude = 10000;

//Get the navigation options
IAgAvtrNavigationOptions navigationOptions = enroute.NavigationOptions;
// Set the route to arrive on a specified course
navigationOptions.NavMode = AgEAvtrPointToPointMode.eArriveOnCourse;
// Set the course
navigationOptions.ArriveOnCourse = 30;
// Use a magnetic heading
navigationOptions.UseMagneticHeading = true;

//Get the navigation options
IAgAvtrCruiseAirspeedOptions airspeedOptions = enroute.EnrouteCruiseAirspeedOptions;
// Fly at max speed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eMaxAirspeed;
// To specify an airspeed to fly at, set the speed type to other airspeed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eOtherAirspeed;
// Then set the airspeed and airspeed type
airspeedOptions.SetOtherAirspeed(AgEAvtrAirspeedType.eTAS, 200);
Add and configure a basic maneuver procedure
[C#]
// Add a basic maneuver procedure
IAgAvtrProcedureBasicManeuver basicManeuver = procedures.Add(AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcBasicManeuver) as IAgAvtrProcedureBasicManeuver;

// Set the navigation to use a Straight Ahead strategy
basicManeuver.NavigationStrategyType = "Straight Ahead";
// Get the options for the straight ahead strategy
IAgAvtrBasicManeuverStrategyStraightAhead straightAhead = basicManeuver.Navigation as IAgAvtrBasicManeuverStrategyStraightAhead;
// Opt to maintain course (as opposed to maintain heading)
straightAhead.ReferenceFrame = AgEAvtrStraightAheadRefFrame.eMaintainCourse;

// Set the profile to use a Autopilot - Vertical Plane strategy
basicManeuver.ProfileStrategyType = "Autopilot - Vertical Plane";
// Get the options for the profile strategy
IAgAvtrBasicManeuverStrategyAutopilotProf autopilot = basicManeuver.Profile as IAgAvtrBasicManeuverStrategyAutopilotProf;
// Opt to maintain the initial altitude
autopilot.AltitudeMode = AgEAvtrAutopilotAltitudeMode.eAutopilotHoldInitAltitude;
IAgAvtrBasicManeuverAirspeedOptions airspeedOptions = autopilot.AirspeedOptions;
// Opt to maintain a specified airspeed
airspeedOptions.AirspeedMode = AgEAvtrBasicManeuverAirspeedMode.eMaintainSpecifiedAirspeed;
// Specify the airspeed
airspeedOptions.SpecifiedAirspeed = 250;

// Configure the options on the Attitude / Performance / Fuel page
basicManeuver.FlightMode = AgEAvtrPhaseOfFlight.eFlightPhaseCruise;
// Override the fuel flow
basicManeuver.FuelFlowType = AgEAvtrBasicManeuverFuelFlowType.eBasicManeuverFuelFlowOverride;
basicManeuver.OverrideFuelFlowValue = 1000;

// Set the basic stopping conditions
basicManeuver.UseMaxDownrange = true;
basicManeuver.MaxDownrange = 10;
basicManeuver.UseStopFuelState = false;
basicManeuver.UseMaxTimeOfFlight = false;
Add and configure a landing procedure
[C#]
// Add a landing procedure
IAgAvtrProcedureLanding landing = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcLanding) as IAgAvtrProcedureLanding;

// Get the runway heading options
IAgAvtrRunwayHeadingOptions headingOptions = landing.RunwayHeadingOptions;
// Land from the low end
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eLowEnd;

// Use a standard instrument approach
landing.ApproachMode = AgEAvtrApproachMode.eStandardInstrumentApproach;
// Get the options for a standard instrument approach
IAgAvtrLandingStandardInstrumentApproach sia = landing.ModeAsStandardInstrumentApproach;
// Change the approach altitude
sia.ApproachAltitude = 1000;
// Change the glideslope
sia.Glideslope = 4;
// Offset the runway altitude
sia.RunwayAltitudeOffset = 10;
// Use the terrain as an altitude reference for the runway
sia.UseRunwayTerrain = true;
Add and remove procedures
[Visual Basic .NET]
' Add a takeoff procedure with a runway as a site. This will add the procedure
Dim takeoff As IAgAvtrProcedure = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff)
' Add a procedure at a given index (starting from 0)
Dim enroute As IAgAvtrProcedure = procedures.AddAtIndex(1, AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute)

' Make sure to propagate the mission to calculate the route
propagator.Propagate()
' Get the mission
Dim mission As IAgAvtrMission = propagator.AvtrMission
' Check to see if the mission is valid (must first be propagated)
Dim isValid As Boolean = mission.IsValid

' Get the number of procedures
Dim procedureCount As Integer = procedures.Count
' Remove the procedure at the given index
procedures.RemoveAtIndex(1)
' Remove the given procedure
procedures.Remove(takeoff)

' Propagate the mission
propagator.Propagate()
Add a takeoff procedure from a runway
[Visual Basic .NET]
' Add a takeoff procedure with a runway as a site
Dim takeoff As IAgAvtrProcedureTakeoff = TryCast(procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff), IAgAvtrProcedureTakeoff)

' Get the runway heading options
Dim headingOptions As IAgAvtrRunwayHeadingOptions = takeoff.RunwayHeadingOptions
' Opt to use the headwind runway
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eHeadwind

' Set the takeoff mode and get that interface
takeoff.TakeoffMode = AgEAvtrTakeoffMode.eTakeoffNormal
Dim takeoffNormal As IAgAvtrTakeoffNormal = takeoff.ModeAsNormal

' Set the takeoff climb angle
takeoffNormal.TakeoffClimbAngle = 5
' Set the departure altitude above the runway
takeoffNormal.DepartureAltitude = 600
' Set the altitude offset for the runway
takeoffNormal.RunwayAltitudeOffset = 10
' Use terrain for the runway's altitude
takeoffNormal.UseRunwayTerrain = True
Add and configure an enroute procedure
[Visual Basic .NET]
' Add an enroute procedure with a site type of End of Previous Procedure
Dim enroute As IAgAvtrProcedureEnroute = TryCast(procedures.Add(AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute), IAgAvtrProcedureEnroute)
'Get the altitude options
Dim altitudeOptions As IAgAvtrAltitudeMSLAndLevelOffOptions = enroute.AltitudeMSLOptions
' To specify an altitude, turn off the option to use the default cruise altitude
altitudeOptions.UseDefaultCruiseAltitude = False
' Set the altitude
altitudeOptions.MSLAltitude = 10000

'Get the navigation options
Dim navigationOptions As IAgAvtrNavigationOptions = enroute.NavigationOptions
' Set the route to arrive on a specified course
navigationOptions.NavMode = AgEAvtrPointToPointMode.eArriveOnCourse
' Set the course
navigationOptions.ArriveOnCourse = 30
' Use a magnetic heading
navigationOptions.UseMagneticHeading = True

'Get the navigation options
Dim airspeedOptions As IAgAvtrCruiseAirspeedOptions = enroute.EnrouteCruiseAirspeedOptions
' Fly at max speed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eMaxAirspeed
' To specify an airspeed to fly at, set the speed type to other airspeed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eOtherAirspeed
' Then set the airspeed and airspeed type
airspeedOptions.SetOtherAirspeed(AgEAvtrAirspeedType.eTAS, 200)
Add and configure a basic maneuver procedure
[Visual Basic .NET]
' Add a basic maneuver procedure
Dim basicManeuver As IAgAvtrProcedureBasicManeuver = TryCast(procedures.Add(AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcBasicManeuver), IAgAvtrProcedureBasicManeuver)

' Set the navigation to use a Straight Ahead strategy
basicManeuver.NavigationStrategyType = "Straight Ahead"
' Get the options for the straight ahead strategy
Dim straightAhead As IAgAvtrBasicManeuverStrategyStraightAhead = TryCast(basicManeuver.Navigation, IAgAvtrBasicManeuverStrategyStraightAhead)
' Opt to maintain course (as opposed to maintain heading)
straightAhead.ReferenceFrame = AgEAvtrStraightAheadRefFrame.eMaintainCourse

' Set the profile to use a Autopilot - Vertical Plane strategy
basicManeuver.ProfileStrategyType = "Autopilot - Vertical Plane"
' Get the options for the profile strategy
Dim autopilot As IAgAvtrBasicManeuverStrategyAutopilotProf = TryCast(basicManeuver.Profile, IAgAvtrBasicManeuverStrategyAutopilotProf)
' Opt to maintain the initial altitude
autopilot.AltitudeMode = AgEAvtrAutopilotAltitudeMode.eAutopilotHoldInitAltitude
Dim airspeedOptions As IAgAvtrBasicManeuverAirspeedOptions = autopilot.AirspeedOptions
' Opt to maintain a specified airspeed
airspeedOptions.AirspeedMode = AgEAvtrBasicManeuverAirspeedMode.eMaintainSpecifiedAirspeed
' Specify the airspeed
airspeedOptions.SpecifiedAirspeed = 250

' Configure the options on the Attitude / Performance / Fuel page
basicManeuver.FlightMode = AgEAvtrPhaseOfFlight.eFlightPhaseCruise
' Override the fuel flow
basicManeuver.FuelFlowType = AgEAvtrBasicManeuverFuelFlowType.eBasicManeuverFuelFlowOverride
basicManeuver.OverrideFuelFlowValue = 1000

' Set the basic stopping conditions
basicManeuver.UseMaxDownrange = True
basicManeuver.MaxDownrange = 10
basicManeuver.UseStopFuelState = False
basicManeuver.UseMaxTimeOfFlight = False
Add and configure a landing procedure
[Visual Basic .NET]
' Add a landing procedure
Dim landing As IAgAvtrProcedureLanding = TryCast(procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcLanding), IAgAvtrProcedureLanding)

' Get the runway heading options
Dim headingOptions As IAgAvtrRunwayHeadingOptions = landing.RunwayHeadingOptions
' Land from the low end
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eLowEnd

' Use a standard instrument approach
landing.ApproachMode = AgEAvtrApproachMode.eStandardInstrumentApproach
' Get the options for a standard instrument approach
Dim sia As IAgAvtrLandingStandardInstrumentApproach = landing.ModeAsStandardInstrumentApproach
' Change the approach altitude
sia.ApproachAltitude = 1000
' Change the glideslope
sia.Glideslope = 4
' Offset the runway altitude
sia.RunwayAltitudeOffset = 10
' Use the terrain as an altitude reference for the runway
sia.UseRunwayTerrain = True
Add and remove procedures
[Python - STK API]
      # IAgAvtrProcedureCollection procedures: Procedure Collection object
# IAgAvtrPropagator propagator: Aviator Propagator object
# Add a takeoff procedure with a runway as a site. This will add the procedure
takeoff = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff)
# Add a procedure at a given index (starting from 0)
enroute = procedures.AddAtIndex(1, AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute)

# Make sure to propagate the mission to calculate the route
propagator.Propagate()
# Get the mission
mission = propagator.AvtrMission
# Check to see if the mission is valid (must first be propagated)
isValid = mission.IsValid

# Get the number of procedures
procedureCount = procedures.Count
# Remove the procedure at the given index
procedures.RemoveAtIndex(1)
# Remove the given procedure
procedures.Remove(takeoff)

# Propagate the mission
propagator.Propagate()

Add and configure a basic maneuver procedure
[Python - STK API]
      # IAgAvtrProcedureCollection procedures: Procedure Collection object
# Add a basic maneuver procedure
basicManeuver = procedures.Add(AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcBasicManeuver)

# Set the navigation to use a Straight Ahead strategy
basicManeuver.NavigationStrategyType = 'Straight Ahead'
# Get the options for the straight ahead strategy
straightAhead = basicManeuver.Navigation
# Opt to maintain course (as opposed to maintain heading)
straightAhead.ReferenceFrame = AgEAvtrStraightAheadRefFrame.eMaintainCourse

# Set the profile to use a Autopilot - Vertical Plane strategy
basicManeuver.ProfileStrategyType = 'Autopilot - Vertical Plane'
# Get the options for the profile strategy
autopilot = basicManeuver.Profile
# Opt to maintain the initial altitude
autopilot.AltitudeMode = AgEAvtrAutopilotAltitudeMode.eAutopilotHoldInitAltitude
airspeedOptions = autopilot.AirspeedOptions
# Opt to maintain a specified airspeed
airspeedOptions.AirspeedMode = AgEAvtrBasicManeuverAirspeedMode.eMaintainSpecifiedAirspeed
# Specify the airspeed
airspeedOptions.SpecifiedAirspeed = 250

# Configure the options on the Attitude / Performance / Fuel page
basicManeuver.FlightMode = AgEAvtrPhaseOfFlight.eFlightPhaseCruise
# Override the fuel flow
basicManeuver.FuelFlowType = AgEAvtrBasicManeuverFuelFlowType.eBasicManeuverFuelFlowOverride
basicManeuver.OverrideFuelFlowValue = 1000

# Set the basic stopping conditions
basicManeuver.UseMaxDownrange = True
basicManeuver.MaxDownrange = 10
basicManeuver.UseStopFuelState = False
basicManeuver.UseMaxTimeOfFlight = False

Add and configure an enroute procedure
[Python - STK API]
      # IAgAvtrProcedureCollection procedures: Procedure Collection object
# Add an enroute procedure with a site type of End of Previous Procedure
enroute = procedures.AddAtIndex(1, AgEAvtrSiteType.eSiteEndOfPrevProcedure, AgEAvtrProcedureType.eProcEnroute)
# Get the altitude options
altitudeOptions = enroute.AltitudeMSLOptions
# To specify an altitude, turn off the option to use the default cruise altitude
altitudeOptions.UseDefaultCruiseAltitude = False
# Set the altitude
altitudeOptions.MSLAltitude = 10000

# Get the navigation options
navigationOptions = enroute.NavigationOptions
# Set the route to arrive on a specified course
navigationOptions.NavMode = AgEAvtrPointToPointMode.eArriveOnCourse
# Set the course
navigationOptions.ArriveOnCourse = 30
# Use a magnetic heading
navigationOptions.UseMagneticHeading = True

# Get the navigation options
airspeedOptions = enroute.EnrouteCruiseAirspeedOptions
# Fly at max speed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eMaxAirspeed
# To specify an airspeed to fly at, set the speed type to other airspeed
airspeedOptions.CruiseSpeedType = AgEAvtrCruiseSpeed.eOtherAirspeed
# Then set the airspeed and airspeed type
airspeedOptions.SetOtherAirspeed(AgEAvtrAirspeedType.eTAS, 200)

Add and configure a landing procedure
[Python - STK API]
      # IAgAvtrProcedureCollection procedures: Procedure Collection object
# Add a landing procedure
landing = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcLanding)

# Get the runway heading options
headingOptions = landing.RunwayHeadingOptions
# Land from the low end
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eLowEnd

# Use a standard instrument approach
landing.ApproachMode = AgEAvtrApproachMode.eStandardInstrumentApproach
# Get the options for a standard instrument approach
sia = landing.ModeAsStandardInstrumentApproach
# Change the approach altitude
sia.ApproachAltitude = 1000
# Change the glideslope
sia.Glideslope = 4
# Offset the runway altitude
sia.RunwayAltitudeOffset = 10
# Use the terrain as an altitude reference for the runway
sia.UseRunwayTerrain = True

Add a takeoff procedure from a runway
[Python - STK API]
      # IAgAvtrProcedureCollection procedures: Procedure Collection object
# Add a takeoff procedure with a runway as a site
takeoff = procedures.Add(AgEAvtrSiteType.eSiteRunway, AgEAvtrProcedureType.eProcTakeoff)

# Get the runway heading options
headingOptions = takeoff.RunwayHeadingOptions
# Opt to use the headwind runway
headingOptions.RunwayMode = AgEAvtrRunwayHighLowEnd.eHeadwind

# Set the takeoff mode and get that interface
takeoff.TakeoffMode = AgEAvtrTakeoffMode.eTakeoffNormal
takeoffNormal = takeoff.ModeAsNormal

# Set the takeoff climb angle
takeoffNormal.TakeoffClimbAngle = 5
# Set the departure altitude above the runway
takeoffNormal.DepartureAltitude = 600
# Set the altitude offset for the runway
takeoffNormal.RunwayAltitudeOffset = 10
# Use terrain for the runway's altitude
takeoffNormal.UseRunwayTerrain = True

Add and remove procedures
[MATLAB]
% IAgAvtrProcedureCollection procedures: Procedure Collection object
% IAgAvtrPropagator propagator: Aviator Propagator object
% Add a takeoff procedure with a runway as a site. This will add the procedure
takeoff = procedures.Add('eSiteRunway', 'eProcTakeoff');
% Add a procedure at a given index (starting from 0)
enroute = procedures.AddAtIndex(1, 'eSiteEndOfPrevProcedure', 'eProcEnroute');

% Make sure to propagate the mission to calculate the route
propagator.Propagate();
% Get the mission
mission = propagator.AvtrMission;
% Check to see if the mission is valid (must first be propagated)
isValid = mission.IsValid;

% Get the number of procedures
procedureCount = procedures.Count;
% Remove the procedure at the given index
procedures.RemoveAtIndex(1);
% Remove the given procedure
procedures.Remove(takeoff);

% Propagate the mission
propagator.Propagate();


        
Add a takeoff procedure from a runway
[MATLAB]
% IAgAvtrProcedureCollection procedures: Procedure Collection object
% Add a takeoff procedure with a runway as a site
takeoff = procedures.Add('eSiteRunway', 'eProcTakeoff');

% Get the runway heading options
headingOptions = takeoff.RunwayHeadingOptions;
% Opt to use the headwind runway
headingOptions.RunwayMode = 'eHeadwind';

% Set the takeoff mode and get that interface
takeoff.TakeoffMode = 'eTakeoffNormal';
takeoffNormal = takeoff.ModeAsNormal;

% Set the takeoff climb angle
takeoffNormal.TakeoffClimbAngle = 5;
% Set the departure altitude above the runway
takeoffNormal.DepartureAltitude = 600;
% Set the altitude offset for the runway
takeoffNormal.RunwayAltitudeOffset = 10;
% Use terrain for the runway's altitude
takeoffNormal.UseRunwayTerrain = 1;


        
Add and configure an enroute procedure
[MATLAB]
% IAgAvtrProcedureCollection procedures: Procedure Collection object
% Add an enroute procedure with a site type of End of Previous Procedure
enroute = procedures.Add('eSiteEndOfPrevProcedure', 'eProcEnroute');
%Get the altitude options
altitudeOptions = enroute.AltitudeMSLOptions;
% To specify an altitude, turn off the option to use the default cruise altitude
altitudeOptions.UseDefaultCruiseAltitude = 0;
% Set the altitude
altitudeOptions.MSLAltitude = 10000;

%Get the navigation options
navigationOptions = enroute.NavigationOptions;
% Set the route to arrive on a specified course
navigationOptions.NavMode = 'eArriveOnCourse';
% Set the course
navigationOptions.ArriveOnCourse = 30;
% Use a magnetic heading
navigationOptions.UseMagneticHeading = 1;

%Get the navigation options
airspeedOptions = enroute.EnrouteCruiseAirspeedOptions;
% Fly at max speed
airspeedOptions.CruiseSpeedType = 'eMaxAirspeed';
% To specify an airspeed to fly at, set the speed type to other airspeed
airspeedOptions.CruiseSpeedType = 'eOtherAirspeed';
% Then set the airspeed and airspeed type
airspeedOptions.SetOtherAirspeed('eTAS', 200);


        
Add and configure a basic maneuver procedure
[MATLAB]
% IAgAvtrProcedureCollection procedures: Procedure Collection object
% Add a basic maneuver procedure
basicManeuver = procedures.Add('eSiteEndOfPrevProcedure', 'eProcBasicManeuver');

% Set the navigation to use a Straight Ahead strategy
basicManeuver.NavigationStrategyType = 'Straight Ahead';
% Get the options for the straight ahead strategy
straightAhead = basicManeuver.Navigation;
% Opt to maintain course (as opposed to maintain heading)
straightAhead.ReferenceFrame = 'eMaintainCourse';

% Set the profile to use a Autopilot - Vertical Plane strategy
basicManeuver.ProfileStrategyType = 'Autopilot - Vertical Plane';
% Get the options for the profile strategy
autopilot = basicManeuver.Profile;
% Opt to maintain the initial altitude
autopilot.AltitudeMode = 'eAutopilotHoldInitAltitude';
airspeedOptions = autopilot.AirspeedOptions;
% Opt to maintain a specified airspeed
airspeedOptions.AirspeedMode = 'eMaintainSpecifiedAirspeed';
% Specify the airspeed
airspeedOptions.SpecifiedAirspeed = 250;

% Configure the options on the Attitude / Performance / Fuel page
basicManeuver.FlightMode = 'eFlightPhaseCruise';
% Override the fuel flow
basicManeuver.FuelFlowType = 'eBasicManeuverFuelFlowOverride';
basicManeuver.OverrideFuelFlowValue = 1000;

% Set the basic stopping conditions
basicManeuver.UseMaxDownrange = 1;
basicManeuver.MaxDownrange = 10;
basicManeuver.UseStopFuelState = 0;
basicManeuver.UseMaxTimeOfFlight = 0;


        
Add and configure a landing procedure
[MATLAB]
% IAgAvtrProcedureCollection procedures: Procedure Collection object
% Add a landing procedure
landing = procedures.Add('eSiteRunway', 'eProcLanding');

% Get the runway heading options
headingOptions = landing.RunwayHeadingOptions;
% Land from the low end
headingOptions.RunwayMode = 'eLowEnd';

% Use a standard instrument approach
landing.ApproachMode = 'eStandardInstrumentApproach';
% Get the options for a standard instrument approach
sia = landing.ModeAsStandardInstrumentApproach;
% Change the approach altitude
sia.ApproachAltitude = 1000;
% Change the glideslope
sia.Glideslope = 4;
% Offset the runway altitude
sia.RunwayAltitudeOffset = 10;
% Use the terrain as an altitude reference for the runway
sia.UseRunwayTerrain = 1;


        
© 2024 Analytical Graphics, Inc. All Rights Reserved.