WSF
WsfSpaceMoverBase::SpaceModel Class Reference

#include <WsfSpaceMoverBase.hpp>

Inheritance diagram for WsfSpaceMoverBase::SpaceModel:
Collaboration diagram for WsfSpaceMoverBase::SpaceModel:

Public Member Functions

 SpaceModel (double aSimTime, WsfStringId aModelTypeId, std::unique_ptr< UtOrbitalPropagatorBase > aPropagatorPtr, WsfDraw *aDrawPtr=nullptr)
bool GetLocationXYZ (double aTime, double aLocXYZ[3]) const override
bool GetVelocityXYZ (double aTime, double aVelXYZ[3]) const override
Public Member Functions inherited from WsfMover::KinematicModel
 KinematicModel ()=delete
 KinematicModel (const KinematicModel &aSrc)=default
virtual ~KinematicModel ()
double GetApogeeTime () const
double GetTimeAtLocation () const
double GetStartTime () const

Protected Member Functions

bool Update (double aSimTime) const
Protected Member Functions inherited from WsfMover::KinematicModel
 KinematicModel (double aSimTime, WsfStringId aModelTypeId)

Protected Attributes

std::unique_ptr< UtOrbitalPropagatorBase > mPropagatorPtr
UtCalendar mUpdateTime
double mLastUpdateTime
UtVec3d mLastLocXYZ
UtVec3d mLastLocWCS
UtVec3d mLastVelWCS
Protected Attributes inherited from WsfMover::KinematicModel
double mStartTime
double mApogeeTime
double mTimeAtLocation
WsfStringId mModelTypeId

Additional Inherited Members

Static Public Member Functions inherited from WsfMover::KinematicModel
static void GetRangeAndAltitude (const double aOriginLocXYZ[3], const double aModelLocXYZ[3], double &aRange, double &aAltitude)

Detailed Description

A class that encapsulates the trajectory of a platform derived from WsfSpaceMover. It may be used to predict ahead the locations, times or apogee of entities.

Constructor & Destructor Documentation

◆ SpaceModel()

Member Function Documentation

◆ GetLocationXYZ()

bool WsfSpaceMoverBase::SpaceModel::GetLocationXYZ ( double aTime,
double aLocXYZ[3] ) const
overridevirtual

Return the SPHERICAL WCS location of the model at the specified time.

Parameters
aTimeThe time for which the model position is to be returned.
aLocXYZThe spherical WCS location of the model at 'aSimTime'.
Returns
true if valid data was returned or false if no data exists for the specified time.

Implements WsfMover::KinematicModel.

References mLastLocXYZ, and WsfSpaceMoverBase::Update().

◆ GetVelocityXYZ()

bool WsfSpaceMoverBase::SpaceModel::GetVelocityXYZ ( double aTime,
double aVelXYZ[3] ) const
overridevirtual

Return the SPHERICAL WCS velocity of the model at the specified time.

Parameters
aTimeThe time for which the model velocity is to be returned.
aVelXYZThe spherical WCS velocity of the model at 'aSimTime'.
Returns
true if valid data was returned or false if no data exists for the specified time.
Note
This routine does not need to be particularly fast or accurate.

Implements WsfMover::KinematicModel.

References mLastLocWCS, mLastVelWCS, and WsfSpaceMoverBase::Update().

◆ Update()

bool WsfSpaceMoverBase::SpaceModel::Update ( double aSimTime) const
protected

Member Data Documentation

◆ mLastLocWCS

UtVec3d WsfSpaceMoverBase::SpaceModel::mLastLocWCS
mutableprotected

Referenced by GetVelocityXYZ(), SpaceModel(), and Update().

◆ mLastLocXYZ

UtVec3d WsfSpaceMoverBase::SpaceModel::mLastLocXYZ
mutableprotected

Referenced by GetLocationXYZ(), SpaceModel(), and Update().

◆ mLastUpdateTime

double WsfSpaceMoverBase::SpaceModel::mLastUpdateTime
mutableprotected

Referenced by SpaceModel(), and Update().

◆ mLastVelWCS

UtVec3d WsfSpaceMoverBase::SpaceModel::mLastVelWCS
mutableprotected

Referenced by GetVelocityXYZ(), SpaceModel(), and Update().

◆ mPropagatorPtr

std::unique_ptr<UtOrbitalPropagatorBase> WsfSpaceMoverBase::SpaceModel::mPropagatorPtr
protected

Referenced by SpaceModel(), and Update().

◆ mUpdateTime

UtCalendar WsfSpaceMoverBase::SpaceModel::mUpdateTime
mutableprotected

Referenced by SpaceModel(), and Update().


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