WSF
WsfMover::KinematicModel Class Referenceabstract

#include <WsfMover.hpp>

Inheritance diagram for WsfMover::KinematicModel:

Public Member Functions

 KinematicModel ()=delete
 KinematicModel (const KinematicModel &aSrc)=default
virtual ~KinematicModel ()
double GetApogeeTime () const
double GetTimeAtLocation () const
double GetStartTime () const
virtual bool GetLocationXYZ (double aTime, double aLocXYZ[3]) const =0
virtual bool GetVelocityXYZ (double aTime, double aVelXYZ[3]) const =0

Static Public Member Functions

static void GetRangeAndAltitude (const double aOriginLocXYZ[3], const double aModelLocXYZ[3], double &aRange, double &aAltitude)

Protected Member Functions

 KinematicModel (double aSimTime, WsfStringId aModelTypeId)

Protected Attributes

double mStartTime
double mApogeeTime
double mTimeAtLocation
WsfStringId mModelTypeId

Detailed Description

A pure virtual base class encapsulating a kinematic model of a mover. It may be used to predict ahead the locations, times or apogee of entities.

Constructor & Destructor Documentation

◆ KinematicModel() [1/3]

◆ KinematicModel() [2/3]

WsfMover::KinematicModel::KinematicModel ( const KinematicModel & aSrc)
default

References KinematicModel().

◆ ~KinematicModel()

WsfMover::KinematicModel::~KinematicModel ( )
virtual

◆ KinematicModel() [3/3]

WsfMover::KinematicModel::KinematicModel ( double aSimTime,
WsfStringId aModelTypeId )
protected

Member Function Documentation

◆ GetApogeeTime()

double WsfMover::KinematicModel::GetApogeeTime ( ) const
inline

◆ GetLocationXYZ()

virtual bool WsfMover::KinematicModel::GetLocationXYZ ( double aTime,
double aLocXYZ[3] ) const
pure virtual

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.

Implemented in WsfBallisticMissileLaunchComputer::BallisticModel, WsfSpaceMoverBase::SpaceModel, and WsfTSPI_Mover::TSPI_Model.

Referenced by WsfBallisticMissileLaunchComputer::ComputeAirIntercept(), WsfBallisticMissileLaunchComputer::ComputeLateralTargetOffset(), and WsfBallisticMissileLaunchComputer::ComputeLaunchWindows().

◆ GetRangeAndAltitude()

void WsfMover::KinematicModel::GetRangeAndAltitude ( const double aOriginLocXYZ[3],
const double aModelLocXYZ[3],
double & aRange,
double & aAltitude )
static

◆ GetStartTime()

double WsfMover::KinematicModel::GetStartTime ( ) const
inline

◆ GetTimeAtLocation()

double WsfMover::KinematicModel::GetTimeAtLocation ( ) const
inline

◆ GetVelocityXYZ()

virtual bool WsfMover::KinematicModel::GetVelocityXYZ ( double aTime,
double aVelXYZ[3] ) const
pure virtual

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.

Implemented in WsfBallisticMissileLaunchComputer::BallisticModel, WsfSpaceMoverBase::SpaceModel, and WsfTSPI_Mover::TSPI_Model.

References GetRangeAndAltitude(), and KinematicModel().

Member Data Documentation

◆ mApogeeTime

◆ mModelTypeId

WsfStringId WsfMover::KinematicModel::mModelTypeId
protected

◆ mStartTime

◆ mTimeAtLocation


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