STK AstrogatorSend comments on this topic.
IAgVAThirdBodyFunction Interface

Description

Properties for a Third Body propagator function. The IAgComponentInfo object returned by the mode property can be cast to IAgVAGravityFieldFunction or IAgVAPointMassFunction depending on the selected ModeType.

Public Methods

Public Method SetModeTypeSet the third body gravity mode.

Public Properties

Public Property EphemerisSourceWarningReturns a warning message if the Ephemeris source and the gravity are not compatible.
Public Property EphemSourceSource for the third body's ephemeris.
Public Property ModeGet the third body gravity mode. The IAgComponentInfo object returned by this property can be cast to IAgVAGravityFieldFunction or IAgVAPointMassFunction depending on the selected ModeType.
Public Property ModeTypeGet the third body gravity mode type.
Public Property ThirdBodyNameGets or sets the selected third body model.

Interfaces

Implemented Interface
IAgComponentInfo
IAgCloneable

CoClasses that Implement IAgVAThirdBodyFunction

Example

Set user defined Mu value on third body
[C#]
IAgComponentInfoCollection compInfoCol = scenario.ComponentDirectory.GetComponents(AgEComponent.eComponentAstrogator);
IAgComponentInfoCollection thirdBodyFolder = compInfoCol.GetFolder("Propagator Functions").GetFolder("Third Bodies");
IAgVAThirdBodyFunction newMoon = thirdBodyFolder.DuplicateComponent("Moon", "NewMoon") as IAgVAThirdBodyFunction;
newMoon.SetModeType(AgEVAThirdBodyMode.eVAThirdBodyModePointMass);
IAgVAPointMassFunction pointMass = newMoon.Mode as IAgVAPointMassFunction;
pointMass.GravSource = AgEVAGravParamSource.eVAGravParamSourceUser;
pointMass.Mu = 390000.0;
Set user defined Mu value on third body from propagators
[C#]
IAgComponentInfoCollection compInfoCol = scenario.ComponentDirectory.GetComponents(AgEComponent.eComponentAstrogator);
IAgComponentInfoCollection propagatorFolder = compInfoCol.GetFolder("Propagators");
IAgVANumericalPropagatorWrapper myEathHPOP = propagatorFolder.DuplicateComponent("Earth HPOP Default v10", "myEathHPOP") as IAgVANumericalPropagatorWrapper;
IAgVAThirdBodyFunction moon = myEathHPOP.PropagatorFunctions["Moon"] as IAgVAThirdBodyFunction;
moon.SetModeType(AgEVAThirdBodyMode.eVAThirdBodyModePointMass);
IAgVAPointMassFunction pointMass = moon.Mode as IAgVAPointMassFunction;
pointMass.GravSource = AgEVAGravParamSource.eVAGravParamSourceUser;
pointMass.Mu = 390000.0;
Set user defined Mu value on third body
[Visual Basic .NET]
Dim compInfoCol As IAgComponentInfoCollection = scenario.ComponentDirectory.GetComponents(AgEComponent.eComponentAstrogator)
Dim thirdBodyFolder As IAgComponentInfoCollection = compInfoCol.GetFolder("Propagator Functions").GetFolder("Third Bodies")
Dim newMoon As IAgVAThirdBodyFunction = TryCast(thirdBodyFolder.DuplicateComponent("Moon", "NewMoon"), IAgVAThirdBodyFunction)
newMoon.SetModeType(AgEVAThirdBodyMode.eVAThirdBodyModePointMass)
Dim pointMass As IAgVAPointMassFunction = TryCast(newMoon.Mode, IAgVAPointMassFunction)
pointMass.GravSource = AgEVAGravParamSource.eVAGravParamSourceUser
pointMass.Mu = 390000
Set user defined Mu value on third body from propagators
[Visual Basic .NET]
Dim compInfoCol As IAgComponentInfoCollection = scenario.ComponentDirectory.GetComponents(AgEComponent.eComponentAstrogator)
Dim propagatorFolder As IAgComponentInfoCollection = compInfoCol.GetFolder("Propagators")
Dim myEathHPOP As IAgVANumericalPropagatorWrapper = TryCast(propagatorFolder.DuplicateComponent("Earth HPOP Default v10", "myEathHPOP"), IAgVANumericalPropagatorWrapper)
Dim moon As IAgVAThirdBodyFunction = TryCast(myEathHPOP.PropagatorFunctions("Moon"), IAgVAThirdBodyFunction)
moon.SetModeType(AgEVAThirdBodyMode.eVAThirdBodyModePointMass)
Dim pointMass As IAgVAPointMassFunction = TryCast(moon.Mode, IAgVAPointMassFunction)
pointMass.GravSource = AgEVAGravParamSource.eVAGravParamSourceUser
pointMass.Mu = 390000
© 2024 Analytical Graphics, Inc. All Rights Reserved.