WSF
WsfOrbitalDynamicsTerm Class Referenceabstract

#include <WsfOrbitalDynamicsTerm.hpp>

Inheritance diagram for WsfOrbitalDynamicsTerm:
Collaboration diagram for WsfOrbitalDynamicsTerm:

Public Member Functions

 WsfOrbitalDynamicsTerm ()
 WsfOrbitalDynamicsTerm (const WsfOrbitalDynamicsTerm &aOther)
WsfOrbitalDynamicsTermoperator= (const WsfOrbitalDynamicsTerm &aOther)=delete
WsfOrbitalDynamicsTermClone () const override=0
const char * GetScriptClassName () const override
virtual UtVec3d ComputeAcceleration (double aMass, const UtCalendar &aTime, const UtVec3d &aPosition, const UtVec3d &aVelocity) const =0
virtual std::string GetTermType () const =0
 Return a string indicating the type of term.
virtual bool Initialize (const WsfOrbitalDynamics &aDynamics)
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
virtual bool ProcessInput (UtInput &aInput)
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Protected Member Functions

const WsfOrbitalDynamicsGetDynamics () const
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Additional Inherited Members

Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Detailed Description

A term used in orbital dynamics.

A single term in the orbital dynamics is any contribution to the dynamics of a space domain object that is being modeled. A term can be defined in any way that clients find useful, and the only restriction is that they are able to be summed with any other terms that affect the dynamics of the bodies in question.

These terms are not intended to hold any state related to the bodies on which these dynamics are acting.

Constructor & Destructor Documentation

◆ WsfOrbitalDynamicsTerm() [1/2]

◆ WsfOrbitalDynamicsTerm() [2/2]

WsfOrbitalDynamicsTerm::WsfOrbitalDynamicsTerm ( const WsfOrbitalDynamicsTerm & aOther)
inline

Member Function Documentation

◆ Clone()

WsfOrbitalDynamicsTerm * WsfOrbitalDynamicsTerm::Clone ( ) const
overridepure virtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfObject.

Implemented in WsfAtmosphericDragTerm, WsfEarthJ2Term, WsfEarthMonopoleTerm, WsfJupiterMonopoleTerm, WsfMoonMonopoleTerm, WsfScriptedOrbitalDynamicsTerm, and WsfSunMonopoleTerm.

References WsfOrbitalDynamicsTerm().

Referenced by UT_DEFINE_SCRIPT_METHOD().

◆ ComputeAcceleration()

virtual UtVec3d WsfOrbitalDynamicsTerm::ComputeAcceleration ( double aMass,
const UtCalendar & aTime,
const UtVec3d & aPosition,
const UtVec3d & aVelocity ) const
pure virtual

Return the acceleration in the ECI frame.

This routine computes the acceleration represented by this term that would be experienced by a body of the given aMass at the given aTime, aPosition and aVelocity. The given aPosition and aVelocity are in the ECI frame, and the returned acceleration is also in the ECI frame.

Parameters
aMass- The mass of the object that would experience this dynamical term.
aTime- The time at which the acceleration is being computed.
aPosition- The position of the body that would experience this acceleration.
aVelocity- The velocity of the body that would experience this acceleration.
Returns
- The acceleration corresponding to this dynamical term.

Implemented in WsfAtmosphericDragTerm, WsfEarthJ2Term, WsfEarthMonopoleTerm, WsfJupiterMonopoleTerm, WsfMoonMonopoleTerm, WsfScriptedOrbitalDynamicsTerm, and WsfSunMonopoleTerm.

◆ GetDynamics()

◆ GetScriptClassName()

const char * WsfOrbitalDynamicsTerm::GetScriptClassName ( ) const
inlineoverride

◆ GetTermType()

virtual std::string WsfOrbitalDynamicsTerm::GetTermType ( ) const
pure virtual

◆ Initialize()

virtual bool WsfOrbitalDynamicsTerm::Initialize ( const WsfOrbitalDynamics & aDynamics)
inlinevirtual

Initialize the term.

This is called when the owning WsfOrbitalDynamics is initialized. This enables terms that might need to inspect their owning dynamics.

Parameters
aDynamics- the dynamics to which this term belongs.

Reimplemented in WsfAtmosphericDragTerm, WsfJupiterMonopoleTerm, WsfMoonMonopoleTerm, WsfScriptedOrbitalDynamicsTerm, and WsfSunMonopoleTerm.

Referenced by WsfAtmosphericDragTerm::Initialize(), WsfJupiterMonopoleTerm::Initialize(), WsfMoonMonopoleTerm::Initialize(), WsfScriptedOrbitalDynamicsTerm::Initialize(), and WsfSunMonopoleTerm::Initialize().

◆ operator=()

WsfOrbitalDynamicsTerm & WsfOrbitalDynamicsTerm::operator= ( const WsfOrbitalDynamicsTerm & aOther)
delete

The documentation for this class was generated from the following file:
Copyrights Multiple, All Rights Reserved