WSF
WsfLaunchHandoffData Class Reference

#include <WsfLaunchHandoffData.hpp>

Inheritance diagram for WsfLaunchHandoffData:
Collaboration diagram for WsfLaunchHandoffData:

Public Member Functions

 WsfLaunchHandoffData ()
 WsfLaunchHandoffData (const WsfLaunchHandoffData &aSrc)
 ~WsfLaunchHandoffData () override=default
WsfLaunchHandoffDataoperator= (const WsfLaunchHandoffData &)=delete
Public Member Functions inherited from WsfSimpleComponentT< WsfPlatformComponent >
 WsfSimpleComponentT ()=default
 Empty constructor for serialization.
 WsfSimpleComponentT (int aRole, WsfStringId aName)
 WsfSimpleComponentT (int aRole)
 WsfSimpleComponentT (WsfStringId aName)
 WsfSimpleComponentT (const WsfSimpleComponentT &aSrc)
WsfSimpleComponentToperator= (const WsfSimpleComponentT &aRhs)
 ~WsfSimpleComponentT () override=default
WsfStringId GetComponentName () const override
const int * GetComponentRoles () const override
Public Member Functions inherited from WsfComponentT< WsfPlatform >
 WsfComponentT ()
 WsfComponentT (const WsfComponentT &) noexcept
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
virtual void ComponentParentChanged (ParentType *aParentPtr)
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
virtual int GetComponentInitializationOrder () const
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
virtual bool PreInitialize (double aSimTime)
virtual bool Initialize (double aSimTime)
virtual bool Initialize2 (double aSimTime)
virtual void PreInput ()
virtual bool ProcessInput (UtInput &aInput)
Public Member Functions inherited from WsfNamed
 WsfNamed ()
 WsfNamed (WsfStringId aName)
 WsfNamed (const WsfNamed &)=default
WsfNamedoperator= (const WsfNamed &)=default
virtual ~WsfNamed ()=default
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Static Public Member Functions

static WsfLaunchHandoffDataFindOrCreate (WsfPlatform &aPlatform)
static WsfLaunchHandoffDataFind (const WsfPlatform &aPlatform)

Protected Types

enum  {
  cVF_LAUNCH_TIME = 0X0001 , cVF_LAUNCHER_BEARING = 0X0002 , cVF_LAUNCHER_ELEVATION = 0X0004 , cVF_LOFT_ANGLE = 0X0008 ,
  cVF_BURN_TIME = 0X0010 , cVF_TIME_OF_FLIGHT = 0X0020 , cVF_INTERCEPT_TIME = 0X0040 , cVF_INTERCEPT_POINT = 0X0080 ,
  cVF_TARGET_IMPACT_TIME = 0X0100 , cVF_TARGET_IMPACT_POINT = 0X0200 , cVF_END_TIME = 0X0400 , cVF_END_POINT = 0X0800
}

Protected Member Functions

bool ResultIsValidFor (unsigned int aDataMask) const

Accessors for optional data.

The [XXX]IsValid method should be used prior to calling Get[XXX].

unsigned int mValidityFlags
 Validity flags for optional data.
void SetLoftAngle (double aLoftAngle)
void SetBurnTime (double aBurnTime)
void SetTimeOfFlight (double aTimeOfFlight)
void SetInterceptTime (double aInterceptTime)
void SetInterceptPoint (const WsfGeoPoint &aInterceptPoint)
bool LoftAngleIsValid () const
bool BurnTimeIsValid () const
bool TimeOfFlightIsValid () const
bool InterceptTimeIsValid () const
bool InterceptPointIsValid () const
double GetLoftAngle () const
double GetBurnTime () const
double GetTimeOfFlight () const
double GetInterceptTime () const
const WsfGeoPointGetInterceptPoint () const

Launch platform data.

size_t mLaunchPlatformIndex
 Index of the launching platform.
double mLaunchPlatformLat
double mLaunchPlatformLon
double mLaunchPlatformAlt
double mLaunchPlatformVelNED [3]
double mLaunchPlatformHeading
double mLaunchPlatformPitch
double mLaunchPlatformRoll

Launch system data (the articulated part).

double mLaunchSystemLocation [3]
double mLaunchSystemYaw
double mLaunchSystemPitch
double mLaunchSystemRoll
double mLaunchSystemTilt

Launch computer data (optional data)

double mLoftAngle
double mBurnTime
double mTimeOfFlight
double mInterceptTime
WsfGeoPoint mInterceptPoint

Other handoff data (optional data)

double mLaunchDeltaV [3]
double mEmptyMass
double mFuelMass
double mPayloadMass

Component infrastructure methods

WsfComponentCloneComponent () const override
void * QueryInterface (int aRole) override
void SetLaunchPlatformData (WsfPlatform *aPlatformPtr, WsfArticulatedPart *aPartPtr)
void SetLaunchComputerData (WsfLaunchComputer *aComputerPtr)

Accessors for information about the launch platform and system.

size_t GetLaunchPlatformIndex () const
double GetLaunchPlatformLat () const
double GetLaunchPlatformLon () const
double GetLaunchPlatformAlt () const
void GetLaunchPlatformVelNED (double aVelocityNED[3]) const
double GetLaunchPlatformHeading () const
double GetLaunchPlatformPitch () const
double GetLaunchPlatformRoll () const
void GetLaunchSystemLocation (double aLocation[3]) const
double GetLaunchSystemYaw () const
double GetLaunchSystemPitch () const
double GetLaunchSystemRoll () const
double GetLaunchSystemTilt () const
void SetLaunchDeltaV (const double aLaunchDeltaV[3])
void GetLaunchDeltaV (double aLaunchDeltaV[3]) const

Additional Inherited Members

Public Types inherited from WsfComponentT< WsfPlatform >
typedef WsfPlatform ParentType
 This is needed to support the WsfComponentList template.
int mRoles [2]

Detailed Description

Handoff data between a launching platform and the platform it launches.

This object contains several types of data that is passed from the launching platform to the launched platform. This primary includes the following, but may include other data:

  • Data about the state of the launching platform at the time of the launch (the launched platform cannot reliabily 'reach-back' to the launch platform because it may cease to exist.)
  • Pre-launch data computed by the launch computer (e.g. loft angle, predicted intercept point, etc.)
Note
This largely parallels the data that is currently in WsfLaunchComputer. It exists because there was no way to push launch computer results to the launched object if it wasn't launched against a track.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected

Validity flags for launch computer data. (Parallels what is in WsfLaunchComputer).

Enumerator
cVF_LAUNCH_TIME 
cVF_LAUNCHER_BEARING 
cVF_LAUNCHER_ELEVATION 
cVF_LOFT_ANGLE 
cVF_BURN_TIME 
cVF_TIME_OF_FLIGHT 
cVF_INTERCEPT_TIME 
cVF_INTERCEPT_POINT 
cVF_TARGET_IMPACT_TIME 
cVF_TARGET_IMPACT_POINT 
cVF_END_TIME 
cVF_END_POINT 

Constructor & Destructor Documentation

◆ WsfLaunchHandoffData() [1/2]

◆ WsfLaunchHandoffData() [2/2]

◆ ~WsfLaunchHandoffData()

WsfLaunchHandoffData::~WsfLaunchHandoffData ( )
overridedefault

Member Function Documentation

◆ BurnTimeIsValid()

bool WsfLaunchHandoffData::BurnTimeIsValid ( ) const
inline

◆ CloneComponent()

WsfComponent * WsfLaunchHandoffData::CloneComponent ( ) const
inlineoverridevirtual

Clones a component. May return null if component does not support clone.

Implements WsfComponent.

References WsfLaunchHandoffData().

◆ Find()

◆ FindOrCreate()

WsfLaunchHandoffData & WsfLaunchHandoffData::FindOrCreate ( WsfPlatform & aPlatform)
static

◆ GetBurnTime()

double WsfLaunchHandoffData::GetBurnTime ( ) const
inline

References mBurnTime.

◆ GetInterceptPoint()

const WsfGeoPoint & WsfLaunchHandoffData::GetInterceptPoint ( ) const
inline

◆ GetInterceptTime()

double WsfLaunchHandoffData::GetInterceptTime ( ) const
inline

References mInterceptTime.

◆ GetLaunchDeltaV()

void WsfLaunchHandoffData::GetLaunchDeltaV ( double aLaunchDeltaV[3]) const
inline

References mLaunchDeltaV.

Referenced by WsfGuidedMover::InitiateMotion().

◆ GetLaunchPlatformAlt()

double WsfLaunchHandoffData::GetLaunchPlatformAlt ( ) const
inline

References mLaunchPlatformAlt.

◆ GetLaunchPlatformHeading()

double WsfLaunchHandoffData::GetLaunchPlatformHeading ( ) const
inline

◆ GetLaunchPlatformIndex()

size_t WsfLaunchHandoffData::GetLaunchPlatformIndex ( ) const
inline

References mLaunchPlatformIndex.

◆ GetLaunchPlatformLat()

double WsfLaunchHandoffData::GetLaunchPlatformLat ( ) const
inline

References mLaunchPlatformLat.

◆ GetLaunchPlatformLon()

double WsfLaunchHandoffData::GetLaunchPlatformLon ( ) const
inline

References mLaunchPlatformLon.

◆ GetLaunchPlatformPitch()

double WsfLaunchHandoffData::GetLaunchPlatformPitch ( ) const
inline

References mLaunchPlatformPitch.

◆ GetLaunchPlatformRoll()

double WsfLaunchHandoffData::GetLaunchPlatformRoll ( ) const
inline

References mLaunchPlatformRoll.

◆ GetLaunchPlatformVelNED()

void WsfLaunchHandoffData::GetLaunchPlatformVelNED ( double aVelocityNED[3]) const
inline

References mLaunchPlatformVelNED.

◆ GetLaunchSystemLocation()

void WsfLaunchHandoffData::GetLaunchSystemLocation ( double aLocation[3]) const
inline

References mLaunchSystemLocation.

◆ GetLaunchSystemPitch()

double WsfLaunchHandoffData::GetLaunchSystemPitch ( ) const
inline

References mLaunchSystemPitch.

◆ GetLaunchSystemRoll()

double WsfLaunchHandoffData::GetLaunchSystemRoll ( ) const
inline

References mLaunchSystemRoll.

◆ GetLaunchSystemTilt()

double WsfLaunchHandoffData::GetLaunchSystemTilt ( ) const
inline

References mLaunchSystemTilt.

◆ GetLaunchSystemYaw()

double WsfLaunchHandoffData::GetLaunchSystemYaw ( ) const
inline

References mLaunchSystemYaw.

◆ GetLoftAngle()

double WsfLaunchHandoffData::GetLoftAngle ( ) const
inline

References mLoftAngle.

Referenced by WsfGuidanceComputer::Initialize2().

◆ GetTimeOfFlight()

double WsfLaunchHandoffData::GetTimeOfFlight ( ) const
inline

References mTimeOfFlight.

◆ InterceptPointIsValid()

bool WsfLaunchHandoffData::InterceptPointIsValid ( ) const
inline

◆ InterceptTimeIsValid()

bool WsfLaunchHandoffData::InterceptTimeIsValid ( ) const
inline

◆ LoftAngleIsValid()

bool WsfLaunchHandoffData::LoftAngleIsValid ( ) const
inline

◆ operator=()

WsfLaunchHandoffData & WsfLaunchHandoffData::operator= ( const WsfLaunchHandoffData & )
delete

◆ QueryInterface()

void * WsfLaunchHandoffData::QueryInterface ( int aRole)
overridevirtual

Requests a component's role interface. A component can support one or more roles.

Parameters
aRoleThe role whose interface is to be returned.
Returns
A pointer to the object if it supports the indicated role, or 'null' if it does not. Usage: WsfProcessor* procPtrOrNull = (WsfProcessor*)componentPtr->QueryComponentInterface(cWSF_COMPONENT_PROCESSOR);

Implements WsfComponent.

References cWSF_COMPONENT_LAUNCH_HANDOFF_DATA.

◆ ResultIsValidFor()

bool WsfLaunchHandoffData::ResultIsValidFor ( unsigned int aDataMask) const
inlineprotected

◆ SetBurnTime()

void WsfLaunchHandoffData::SetBurnTime ( double aBurnTime)
inlineprotected

◆ SetInterceptPoint()

void WsfLaunchHandoffData::SetInterceptPoint ( const WsfGeoPoint & aInterceptPoint)
inlineprotected

◆ SetInterceptTime()

void WsfLaunchHandoffData::SetInterceptTime ( double aInterceptTime)
inlineprotected

◆ SetLaunchComputerData()

◆ SetLaunchDeltaV()

void WsfLaunchHandoffData::SetLaunchDeltaV ( const double aLaunchDeltaV[3])
inline

◆ SetLaunchPlatformData()

void WsfLaunchHandoffData::SetLaunchPlatformData ( WsfPlatform * aPlatformPtr,
WsfArticulatedPart * aPartPtr )

Called at the time of launch to capture the current state of the launcher platform and system.

Parameters
aPlatformPtrPointer to the launching platform. If this is zero then the platform associated with the launching system (aPartPtr) will be used.
aPartPtrPointer to the launching system. This can be zero if there is no associated launch system.

References WsfArticulatedPart::GetPitch(), WsfPlatformPart::GetPlatform(), WsfArticulatedPart::GetRoll(), WsfArticulatedPart::GetTilt(), WsfArticulatedPart::GetYaw(), mEmptyMass, mFuelMass, mLaunchPlatformAlt, mLaunchPlatformHeading, mLaunchPlatformIndex, mLaunchPlatformLat, mLaunchPlatformLon, mLaunchPlatformPitch, mLaunchPlatformRoll, mLaunchPlatformVelNED, mLaunchSystemLocation, mLaunchSystemPitch, mLaunchSystemRoll, mLaunchSystemTilt, mLaunchSystemYaw, mPayloadMass, and platformPtr.

Referenced by WsfExplicitWeapon::SetLaunchState().

◆ SetLoftAngle()

void WsfLaunchHandoffData::SetLoftAngle ( double aLoftAngle)
inlineprotected

◆ SetTimeOfFlight()

void WsfLaunchHandoffData::SetTimeOfFlight ( double aTimeOfFlight)
inlineprotected

◆ TimeOfFlightIsValid()

bool WsfLaunchHandoffData::TimeOfFlightIsValid ( ) const
inline

Member Data Documentation

◆ mBurnTime

double WsfLaunchHandoffData::mBurnTime
protected

◆ mEmptyMass

double WsfLaunchHandoffData::mEmptyMass
protected

◆ mFuelMass

double WsfLaunchHandoffData::mFuelMass
protected

◆ mInterceptPoint

WsfGeoPoint WsfLaunchHandoffData::mInterceptPoint
protected

◆ mInterceptTime

double WsfLaunchHandoffData::mInterceptTime
protected

◆ mLaunchDeltaV

double WsfLaunchHandoffData::mLaunchDeltaV[3]
protected

◆ mLaunchPlatformAlt

double WsfLaunchHandoffData::mLaunchPlatformAlt
protected

◆ mLaunchPlatformHeading

double WsfLaunchHandoffData::mLaunchPlatformHeading
protected

◆ mLaunchPlatformIndex

size_t WsfLaunchHandoffData::mLaunchPlatformIndex
protected

◆ mLaunchPlatformLat

double WsfLaunchHandoffData::mLaunchPlatformLat
protected

◆ mLaunchPlatformLon

double WsfLaunchHandoffData::mLaunchPlatformLon
protected

◆ mLaunchPlatformPitch

double WsfLaunchHandoffData::mLaunchPlatformPitch
protected

◆ mLaunchPlatformRoll

double WsfLaunchHandoffData::mLaunchPlatformRoll
protected

◆ mLaunchPlatformVelNED

double WsfLaunchHandoffData::mLaunchPlatformVelNED[3]
protected

◆ mLaunchSystemLocation

double WsfLaunchHandoffData::mLaunchSystemLocation[3]
protected

◆ mLaunchSystemPitch

double WsfLaunchHandoffData::mLaunchSystemPitch
protected

◆ mLaunchSystemRoll

double WsfLaunchHandoffData::mLaunchSystemRoll
protected

◆ mLaunchSystemTilt

double WsfLaunchHandoffData::mLaunchSystemTilt
protected

◆ mLaunchSystemYaw

double WsfLaunchHandoffData::mLaunchSystemYaw
protected

◆ mLoftAngle

double WsfLaunchHandoffData::mLoftAngle
protected

◆ mPayloadMass

double WsfLaunchHandoffData::mPayloadMass
protected

◆ mTimeOfFlight

double WsfLaunchHandoffData::mTimeOfFlight
protected

◆ mValidityFlags

unsigned int WsfLaunchHandoffData::mValidityFlags
protected

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