STK ObjectsSend comments on this topic.
IAgMissile Interface

Description

Interface for a missile object.

Public Methods

Public Method IsAttitudeTypeSupportedGets a value indicating whether the specified type can be used.
Public Method IsTrajectoryTypeSupportedGets a value indicating whether the specified type can be used.
Public Method SetAttitudeTypeMethod to set the type of attitude profile used by the missile.
Public Method SetTrajectoryTypeMethod to set the propagator type.

Public Properties

Public Property AccessConstraintsGet the constraints imposed on the missile.
Public Property AtmosphereThe local atmosphere.
Public Property AttitudeGet the missile's attitude profile.
Public Property AttitudeSupportedTypesReturns an array of valid choices.
Public Property AttitudeTypeGet the type of attitude profile used by the missile.
Public Property EclipseBodiesGet the customized list of Eclipse Bodies, which are central bodies used in lighting computations.
Public Property ExportToolsReturns the IAgMsExportTools interface.
Public Property GraphicsGet the missile's 2D Graphics properties.
Public Property GroundEllipsesGet the missile's ground ellipses properties.
Public Property LightingMaxStepThe maximum step size to use when computing lighting. Only applies (and only can be set) when UseTerrainInLightingComputations is true. Uses Time Dimension.
Public Property RadarClutterMapReturns the radar clutter map.
Public Property RadarCrossSectionReturns the radar cross sectoin.
Public Property SpaceEnvironmentReturns the missile's SpaceEnvironment properties.
Public Property TrajectoryGet the missile's trajectory properties.
Public Property TrajectorySupportedTypesReturns an array of valid choices.
Public Property TrajectoryTypeGet the propagator type used by the missile.
Public Property UseTerrainInLightingComputationsOpt whether to compute lighting using terrain data.
Public Property VOGet the missile's 3D Graphics properties.

Interfaces

CoClasses that Implement IAgMissile

Example

Define missile trajectory
[C#]
// Set missile trajectory type
missile.SetTrajectoryType(AgEVePropagatorType.ePropagatorBallistic);

// Retrieve the Propagator interface
IAgVePropagatorBallistic trajectory = missile.Trajectory as IAgVePropagatorBallistic;

// Set propagator settings if they should be other than defaults
trajectory.EphemerisInterval.SetExplicitInterval("1 Jan 2012 12:00:00.000", "2 Jan 2012 12:00:00.000");
trajectory.Step = 60.0;

// Set flight parameters
trajectory.SetLaunchType(AgEVeLaunch.eLaunchLLA);
IAgVeLaunchLLA launch = trajectory.Launch as IAgVeLaunchLLA;
launch.Lat = 0.0;
launch.Lon = 0.0;
launch.Alt = 0.0;

// Set impact location type
trajectory.SetImpactLocationType(AgEVeImpactLocation.eImpactLocationPoint);

// Retrieve the impact point interface
IAgVeImpactLocationPoint impactLocation = trajectory.ImpactLocation as IAgVeImpactLocationPoint;
impactLocation.SetLaunchControlType(AgEVeLaunchControl.eLaunchControlFixedTimeOfFlight);

// Retrieve the launch flight interface
IAgVeLaunchControlFixedTimeOfFlight launchControl = impactLocation.LaunchControl as IAgVeLaunchControlFixedTimeOfFlight;
launchControl.TimeOfFlight = 9000.0;

// Configure missile Impact parameters
impactLocation.SetImpactType(AgEVeImpact.eImpactLLA);
IAgVeImpactLLA impact = impactLocation.Impact as IAgVeImpactLLA;
impact.Lat = 12.0;
impact.Lon = 5.0;
impact.Alt = 0.0;

// Propagate Missile
trajectory.Propagate();
Define missile trajectory
[Visual Basic .NET]
' Set missile trajectory type
missile.SetTrajectoryType(AgEVePropagatorType.ePropagatorBallistic)

' Retrieve the Propagator interface
Dim trajectory As IAgVePropagatorBallistic = TryCast(missile.Trajectory, IAgVePropagatorBallistic)

' Set propagator settings if they should be other than defaults
trajectory.EphemerisInterval.SetExplicitInterval("1 Jan 2012 12:00:00.000", "2 Jan 2012 12:00:00.000")
trajectory.[Step] = 60

' Set flight parameters
trajectory.SetLaunchType(AgEVeLaunch.eLaunchLLA)
Dim launch As IAgVeLaunchLLA = TryCast(trajectory.Launch, IAgVeLaunchLLA)
launch.Lat = 0
launch.Lon = 0
launch.Alt = 0

' Set impact location type
trajectory.SetImpactLocationType(AgEVeImpactLocation.eImpactLocationPoint)

' Retrieve the impact point interface
Dim impactLocation As IAgVeImpactLocationPoint = TryCast(trajectory.ImpactLocation, IAgVeImpactLocationPoint)
impactLocation.SetLaunchControlType(AgEVeLaunchControl.eLaunchControlFixedTimeOfFlight)

' Retrieve the launch flight interface
Dim launchControl As IAgVeLaunchControlFixedTimeOfFlight = TryCast(impactLocation.LaunchControl, IAgVeLaunchControlFixedTimeOfFlight)
launchControl.TimeOfFlight = 9000

' Configure missile Impact parameters
impactLocation.SetImpactType(AgEVeImpact.eImpactLLA)
Dim impact As IAgVeImpactLLA = TryCast(impactLocation.Impact, IAgVeImpactLLA)
impact.Lat = 12
impact.Lon = 5
impact.Alt = 0

' Propagate Missile
trajectory.Propagate()
Create a New Missile (on the current scenario central body)
[Python]
# IAgScenario scenario: Scenario object
missile = scenario.Children.New(13, 'MyMissile')  # eMissile
missile.SetTrajectoryType(10)  # ePropagatorBallistic
trajectory = missile.Trajectory
root.UnitPreferences.SetCurrentUnit('DateFormat', 'EpSec')
trajectory.EphemerisInterval.SetExplicitInterval(0, 0)  # stop time later computed based on propagation
trajectory.Launch.Lat = 29
trajectory.Launch.Lon = -81
trajectory.ImpactLocation.Impact.Lat = 27
trajectory.ImpactLocation.Impact.Lon = -43
trajectory.ImpactLocation.SetLaunchControlType(0)  # eLaunchControlFixedApogeeAlt
trajectory.impactLocation.LaunchControl.ApogeeAlt = 1200   # km
trajectory.Propagate()

Create a New Missile (on the current scenario central body)
[MATLAB]
% IAgScenario scenario: Scenario object
missile = scenario.Children.New('eMissile', 'MyMissile');
missile.SetTrajectoryType('ePropagatorBallistic');
trajectory = missile.Trajectory;
root.UnitPreferences.Item('DateFormat').SetCurrentUnit('EpSec');
trajectory.EphemerisInterval.SetExplicitInterval(0, 0) % stop time later computed based on propagation
trajectory.Launch.Lat = 29;
trajectory.Launch.Lon = -81;
trajectory.ImpactLocation.Impact.Lat = 27;
trajectory.ImpactLocation.Impact.Lon = -43;
trajectory.ImpactLocation.SetLaunchControlType('eLaunchControlFixedApogeeAlt');
trajectory.impactLocation.LaunchControl.ApogeeAlt = 1200;   % km
trajectory.Propagate();


        
© 2020 Analytical Graphics, Inc. All Rights Reserved.