WSF
wsf::space::TargetPointOptions Class Reference

#include <WsfTargetPointOptions.hpp>

Public Types

enum class  Type {
  cPLATFORM , cTRACK , cLIBRATION_POINT , cPROVIDED_TARGET ,
  cKINEMATIC_STATE
}

Public Member Functions

 TargetPointOptions (const WsfTrackId &aLocalTrackId)
 TargetPointOptions (LibrationPoint::System aSystem, LibrationPoint::Point aPoint)
 TargetPointOptions (const UtVec3d &aPosition, const UtVec3d &aVelocity)
 TargetPointOptions (const TargetPointOptions &aOther)=default
 ~TargetPointOptions ()=default
bool ProcessInput (UtInput &aInput)
 Process commands in the input stream for this object.
std::unique_ptr< OrbitalTargetPointInstantiatePoint (const UtCalendar &aEpoch) const
bool HasPlatformTarget () const
 Return if this object is configured with a platform target.
bool HasTrackTarget () const
 Return if this object is configured with a track-based target.
bool HasLibrationPointTarget () const
 Return if this object is configured with a libration point target.
bool HasProvidedTarget () const
 Return if this object is configured with a provided target point.
bool HasKinematicStateTarget () const
 Return if this object is configured with a certain kinematic state as the target.
bool IsValid () const
 Return if this objectis configured with a valid target.
bool HasPositionOffset () const
 Return if this object is configured with a position offset.
bool HasVelocityOffset () const
 Return if this object is configured with a velocity offset.
bool HasKinematicOffset () const
 Return if this object is configured with a position or velocity offset.
const UtVec3d & GetPositionOffset () const
 Return the position offset in meters with which this object is configured.
const UtVec3d & GetVelocityOffset () const
 Return the velocity offset in meters per second with which this object is configured.
const std::string & GetPositionOffsetUnits () const
 Return a string giving the units with which this object's position offset was configured.
const std::string & GetVelocityOffsetUnits () const
 Return a string giving the units with which this object's velocity offset was configured.
wsf::space::OrbitalReferenceFrame GetPositionOffsetFrame () const
 Return the frame in which this object's position offset is specified.
wsf::space::OrbitalReferenceFrame GetVelocityOffsetFrame () const
 Return the frame in which this object's velocity offset is specified.
UtVec3d GetPositionOffsetInUnits () const
 Return the position offset in the units this object was configured with.
UtVec3d GetVelocityOffsetInUnits () const
 Return the velocity offset in the units this object was configured with.
const std::string & GetPlatformName () const
 Return the name of the platform being targeted. Valid only when HasPlatformTarget returns true.
const WsfTrackIdGetLocalTrackId () const
 Return the track id of the track being targeted. Valid only when HasTrackTarget returns true.
wsf::space::LibrationPoint::System GetLP_System () const
 Return the libration point system being targeted. Valid only when HasLibrationPointTarget returns true.
wsf::space::LibrationPoint::Point GetLP_Point () const
 Return the libration point being targeted. Valid only when HasLibrationPointTarget returns true.
const UtVec3d & GetKinematicStatePosition () const
 Return the position in meters of the kinematic state being targeted. Valid only when HasKinematicStateTarget returns true.
UtVec3d GetKinematicStatePositionInUnits () const
const std::string & GetKinematicStatePositionUnits () const
const UtVec3d & GetKinematicStateVelocity () const
UtVec3d GetKinematicStateVelocityInUnits () const
const std::string & GetKinematicStateVelocityUnits () const
const UtOrbitalPropagatorBase * GetTargetPropagator () const
 Return the target propagator defined on this object.
void SetPositionOffset (const UtVec3d &aOffset, const std::string &aOffsetUnits, wsf::space::OrbitalReferenceFrame aOffsetFrame)
void SetVelocityOffset (const UtVec3d &aOffset, const std::string &aOffsetUnits, wsf::space::OrbitalReferenceFrame aOffsetFrame)
void ClearPositionOffset ()
 Clear the position offset from this object's configuration.
void ClearVelocityOffset ()
 Clear the velocity offset from this object's configuration.
bool HasOffsetTime () const
 Return if this object has an offset time configured.
const UtTimeValue & GetOffsetTime () const
void SetOffsetTime (const UtTimeValue &aTimeOffset)
 Set the offset time configured for this object.
void ClearOffsetTime ()
 Clear the offset time from this object's configuration.
bool HasLagTime () const
 Return if this object has a lag time configured.
const UtTimeValue & GetLagTime () const
void SetLagTime (const UtTimeValue &aLagTime)
 Set the lag time configured for this object.
void ClearLagTime ()
 Clear the lag time from this object's configuration.
void SetPlatformName (const std::string &aPlatformName)
 Set a platform with the given name as the target.
void SetLocalTrackId (const WsfTrackId &aTrackId)
 Set a track with the given ID as the target.
void SetLibrationPoint (wsf::space::LibrationPoint::System aSystem, wsf::space::LibrationPoint::Point aPoint)
 Set the given libration point as the target.
void SetTargetPoint (std::unique_ptr< wsf::space::OrbitalTargetPoint > aTargetPoint)
 Set the given target point as the base target.
void SetKinematicState (const UtVec3d &aPositionInertial, const std::string &aPositionUnits, const UtVec3d &aVelocityInertial, const std::string &aVelocityUnits)
 Set the given position and velocity as the base target.
bool RequiresTargetPropagator () const
 Return if these options imply a need for a targeting propagator to successfully instantiate the target point.
void SetTargetPropagator (std::unique_ptr< UtOrbitalPropagatorBase > aTargetPropagatorPtr)
 Set the target propagator.
bool RequiresManeuveringPropagator () const
 Return if these options imply a need for a maneuvering propagator to successfully instantiate the target point.
void SetManeuveringPropagator (std::unique_ptr< UtOrbitalPropagatorBase > aManeuveringPropagatorPtr)
 Set the maneuvering propagator.
bool ValidateParameterRanges (const std::string &aExecutingPlatformName, const std::string &aManeuverType) const
 Validate that the configuration has parameters in the allowed range.

Static Public Member Functions

static bool ValidOffsetFrame (wsf::space::OrbitalReferenceFrame aFrame)
 Returns if this object supports the given frame for offsets.

Detailed Description

This class reads in the options for targets for a targeting-class maneuver.

The set of targets that are possible to target with a targeting-class maneuver (Target, Intercept, Rendezvous) can be configured with this object. This object will read in from input the target specification, and can create the appropriate wsf::space::OrbitalTargetPoint to represent that target. Targets are specified as both a base target (such as a target platform) and an optional offset from that target.

Member Enumeration Documentation

◆ Type

Enumerator
cPLATFORM 
cTRACK 
cLIBRATION_POINT 
cPROVIDED_TARGET 
cKINEMATIC_STATE 

Constructor & Destructor Documentation

◆ TargetPointOptions() [1/4]

wsf::space::TargetPointOptions::TargetPointOptions ( const WsfTrackId & aLocalTrackId)
explicit

Referenced by TargetPointOptions().

◆ TargetPointOptions() [2/4]

wsf::space::TargetPointOptions::TargetPointOptions ( LibrationPoint::System aSystem,
LibrationPoint::Point aPoint )

References SetLibrationPoint().

◆ TargetPointOptions() [3/4]

wsf::space::TargetPointOptions::TargetPointOptions ( const UtVec3d & aPosition,
const UtVec3d & aVelocity )

References SetKinematicState().

◆ TargetPointOptions() [4/4]

wsf::space::TargetPointOptions::TargetPointOptions ( const TargetPointOptions & aOther)
default

References TargetPointOptions().

◆ ~TargetPointOptions()

wsf::space::TargetPointOptions::~TargetPointOptions ( )
default

Member Function Documentation

◆ ClearLagTime()

void wsf::space::TargetPointOptions::ClearLagTime ( )

Clear the lag time from this object's configuration.

◆ ClearOffsetTime()

void wsf::space::TargetPointOptions::ClearOffsetTime ( )

Clear the offset time from this object's configuration.

◆ ClearPositionOffset()

void wsf::space::TargetPointOptions::ClearPositionOffset ( )

Clear the position offset from this object's configuration.

References wsf::space::cUNKNOWN.

◆ ClearVelocityOffset()

void wsf::space::TargetPointOptions::ClearVelocityOffset ( )

Clear the velocity offset from this object's configuration.

References wsf::space::cUNKNOWN.

◆ GetKinematicStatePosition()

const UtVec3d & wsf::space::TargetPointOptions::GetKinematicStatePosition ( ) const
inline

Return the position in meters of the kinematic state being targeted. Valid only when HasKinematicStateTarget returns true.

◆ GetKinematicStatePositionInUnits()

UtVec3d wsf::space::TargetPointOptions::GetKinematicStatePositionInUnits ( ) const

Return the position of the kinematic state being targeted, in the units with which this object was configured. Valid only when HasKinematicStateTarget returns true.

◆ GetKinematicStatePositionUnits()

const std::string & wsf::space::TargetPointOptions::GetKinematicStatePositionUnits ( ) const
inline

Return a string giving the units with which this object's kinematic state target position was configured. Valid only when HasKinematicStateTarget returns true.

◆ GetKinematicStateVelocity()

const UtVec3d & wsf::space::TargetPointOptions::GetKinematicStateVelocity ( ) const
inline

Return the velocity in meters per second of the kinematic state being targeted. Valid only when HasKinematicStateTarget returns true.

◆ GetKinematicStateVelocityInUnits()

UtVec3d wsf::space::TargetPointOptions::GetKinematicStateVelocityInUnits ( ) const

Return the velocity of the kinematic state being targeted, in the units with which this object was configured. Valid only when HasKinematicStateTarget returns true.

◆ GetKinematicStateVelocityUnits()

const std::string & wsf::space::TargetPointOptions::GetKinematicStateVelocityUnits ( ) const
inline

Return a string giving the units with which this object's kinematic state target velocity was configured. Valid only when HasKinematicStateTarget returns true.

◆ GetLagTime()

const UtTimeValue & wsf::space::TargetPointOptions::GetLagTime ( ) const
inline

Get the lag time configured for this object. The result is only valid if HasLagTime returns true.

◆ GetLocalTrackId()

const WsfTrackId & wsf::space::TargetPointOptions::GetLocalTrackId ( ) const
inline

Return the track id of the track being targeted. Valid only when HasTrackTarget returns true.

Referenced by IsValid().

◆ GetLP_Point()

wsf::space::LibrationPoint::Point wsf::space::TargetPointOptions::GetLP_Point ( ) const
inline

Return the libration point being targeted. Valid only when HasLibrationPointTarget returns true.

Referenced by IsValid().

◆ GetLP_System()

wsf::space::LibrationPoint::System wsf::space::TargetPointOptions::GetLP_System ( ) const
inline

Return the libration point system being targeted. Valid only when HasLibrationPointTarget returns true.

Referenced by IsValid().

◆ GetOffsetTime()

const UtTimeValue & wsf::space::TargetPointOptions::GetOffsetTime ( ) const
inline

Get the offset time configured for this object. The result is only valid if HasOffsetTime returns true.

◆ GetPlatformName()

const std::string & wsf::space::TargetPointOptions::GetPlatformName ( ) const
inline

Return the name of the platform being targeted. Valid only when HasPlatformTarget returns true.

Referenced by IsValid().

◆ GetPositionOffset()

const UtVec3d & wsf::space::TargetPointOptions::GetPositionOffset ( ) const
inline

Return the position offset in meters with which this object is configured.

◆ GetPositionOffsetFrame()

wsf::space::OrbitalReferenceFrame wsf::space::TargetPointOptions::GetPositionOffsetFrame ( ) const
inline

Return the frame in which this object's position offset is specified.

◆ GetPositionOffsetInUnits()

UtVec3d wsf::space::TargetPointOptions::GetPositionOffsetInUnits ( ) const

Return the position offset in the units this object was configured with.

◆ GetPositionOffsetUnits()

const std::string & wsf::space::TargetPointOptions::GetPositionOffsetUnits ( ) const
inline

Return a string giving the units with which this object's position offset was configured.

◆ GetTargetPropagator()

const UtOrbitalPropagatorBase * wsf::space::TargetPointOptions::GetTargetPropagator ( ) const
inline

Return the target propagator defined on this object.

◆ GetVelocityOffset()

const UtVec3d & wsf::space::TargetPointOptions::GetVelocityOffset ( ) const
inline

Return the velocity offset in meters per second with which this object is configured.

◆ GetVelocityOffsetFrame()

wsf::space::OrbitalReferenceFrame wsf::space::TargetPointOptions::GetVelocityOffsetFrame ( ) const
inline

Return the frame in which this object's velocity offset is specified.

◆ GetVelocityOffsetInUnits()

UtVec3d wsf::space::TargetPointOptions::GetVelocityOffsetInUnits ( ) const

Return the velocity offset in the units this object was configured with.

◆ GetVelocityOffsetUnits()

const std::string & wsf::space::TargetPointOptions::GetVelocityOffsetUnits ( ) const
inline

Return a string giving the units with which this object's velocity offset was configured.

◆ HasKinematicOffset()

bool wsf::space::TargetPointOptions::HasKinematicOffset ( ) const
inline

Return if this object is configured with a position or velocity offset.

References HasPositionOffset(), and HasVelocityOffset().

◆ HasKinematicStateTarget()

bool wsf::space::TargetPointOptions::HasKinematicStateTarget ( ) const
inline

Return if this object is configured with a certain kinematic state as the target.

References cKINEMATIC_STATE.

Referenced by ValidateParameterRanges().

◆ HasLagTime()

bool wsf::space::TargetPointOptions::HasLagTime ( ) const
inline

Return if this object has a lag time configured.

Referenced by RequiresManeuveringPropagator().

◆ HasLibrationPointTarget()

bool wsf::space::TargetPointOptions::HasLibrationPointTarget ( ) const
inline

Return if this object is configured with a libration point target.

References cLIBRATION_POINT.

Referenced by ValidateParameterRanges().

◆ HasOffsetTime()

bool wsf::space::TargetPointOptions::HasOffsetTime ( ) const
inline

Return if this object has an offset time configured.

Referenced by RequiresManeuveringPropagator().

◆ HasPlatformTarget()

bool wsf::space::TargetPointOptions::HasPlatformTarget ( ) const
inline

Return if this object is configured with a platform target.

References cPLATFORM.

Referenced by ValidateParameterRanges().

◆ HasPositionOffset()

bool wsf::space::TargetPointOptions::HasPositionOffset ( ) const
inline

Return if this object is configured with a position offset.

Referenced by HasKinematicOffset(), and ValidateParameterRanges().

◆ HasProvidedTarget()

bool wsf::space::TargetPointOptions::HasProvidedTarget ( ) const
inline

Return if this object is configured with a provided target point.

References cPROVIDED_TARGET.

Referenced by ValidateParameterRanges().

◆ HasTrackTarget()

bool wsf::space::TargetPointOptions::HasTrackTarget ( ) const
inline

Return if this object is configured with a track-based target.

References cTRACK.

Referenced by ValidateParameterRanges().

◆ HasVelocityOffset()

bool wsf::space::TargetPointOptions::HasVelocityOffset ( ) const
inline

Return if this object is configured with a velocity offset.

Referenced by HasKinematicOffset(), and ValidateParameterRanges().

◆ InstantiatePoint()

std::unique_ptr< OrbitalTargetPoint > wsf::space::TargetPointOptions::InstantiatePoint ( const UtCalendar & aEpoch) const

◆ IsValid()

bool wsf::space::TargetPointOptions::IsValid ( ) const

◆ ProcessInput()

◆ RequiresManeuveringPropagator()

bool wsf::space::TargetPointOptions::RequiresManeuveringPropagator ( ) const
inline

Return if these options imply a need for a maneuvering propagator to successfully instantiate the target point.

References HasLagTime(), and HasOffsetTime().

◆ RequiresTargetPropagator()

bool wsf::space::TargetPointOptions::RequiresTargetPropagator ( ) const
inline

Return if these options imply a need for a targeting propagator to successfully instantiate the target point.

References cPLATFORM, and cTRACK.

◆ SetKinematicState()

void wsf::space::TargetPointOptions::SetKinematicState ( const UtVec3d & aPositionInertial,
const std::string & aPositionUnits,
const UtVec3d & aVelocityInertial,
const std::string & aVelocityUnits )

Set the given position and velocity as the base target.

References cKINEMATIC_STATE.

Referenced by ProcessInput(), and TargetPointOptions().

◆ SetLagTime()

void wsf::space::TargetPointOptions::SetLagTime ( const UtTimeValue & aLagTime)

Set the lag time configured for this object.

◆ SetLibrationPoint()

void wsf::space::TargetPointOptions::SetLibrationPoint ( wsf::space::LibrationPoint::System aSystem,
wsf::space::LibrationPoint::Point aPoint )

Set the given libration point as the target.

References cLIBRATION_POINT, and wsf::space::LibrationPoint::ValidLibrationPoint().

Referenced by ProcessInput(), and TargetPointOptions().

◆ SetLocalTrackId()

void wsf::space::TargetPointOptions::SetLocalTrackId ( const WsfTrackId & aTrackId)

Set a track with the given ID as the target.

References cTRACK.

◆ SetManeuveringPropagator()

void wsf::space::TargetPointOptions::SetManeuveringPropagator ( std::unique_ptr< UtOrbitalPropagatorBase > aManeuveringPropagatorPtr)
inline

Set the maneuvering propagator.

◆ SetOffsetTime()

void wsf::space::TargetPointOptions::SetOffsetTime ( const UtTimeValue & aTimeOffset)

Set the offset time configured for this object.

◆ SetPlatformName()

void wsf::space::TargetPointOptions::SetPlatformName ( const std::string & aPlatformName)

Set a platform with the given name as the target.

References cPLATFORM.

Referenced by ProcessInput().

◆ SetPositionOffset()

void wsf::space::TargetPointOptions::SetPositionOffset ( const UtVec3d & aOffset,
const std::string & aOffsetUnits,
wsf::space::OrbitalReferenceFrame aOffsetFrame )

Set the position offset.

Set the offset to be the given aOffset which is provided with the given aOffsetUnits and in the given aOffsetFrame.

Parameters
aOffset- The vector of components of the offset.
aOffsetUnits- The units with which the given aOffset are expressed.
aOffsetFrame- The frame in which the given aOffset are given.

References ValidOffsetFrame().

Referenced by ProcessInput().

◆ SetTargetPoint()

void wsf::space::TargetPointOptions::SetTargetPoint ( std::unique_ptr< wsf::space::OrbitalTargetPoint > aTargetPoint)

Set the given target point as the base target.

References cPROVIDED_TARGET.

◆ SetTargetPropagator()

void wsf::space::TargetPointOptions::SetTargetPropagator ( std::unique_ptr< UtOrbitalPropagatorBase > aTargetPropagatorPtr)
inline

Set the target propagator.

◆ SetVelocityOffset()

void wsf::space::TargetPointOptions::SetVelocityOffset ( const UtVec3d & aOffset,
const std::string & aOffsetUnits,
wsf::space::OrbitalReferenceFrame aOffsetFrame )

Set the velocity offset.

Set the offset to be the given aOffset which is provided with the given aOffsetUnits and in the given aOffsetFrame.

Parameters
aOffset- The vector of components of the offset.
aOffsetUnits- The units with which the given aOffset are expressed.
aOffsetFrame- The frame in which the given aOffset are given.

References ValidOffsetFrame().

Referenced by ProcessInput().

◆ ValidateParameterRanges()

bool wsf::space::TargetPointOptions::ValidateParameterRanges ( const std::string & aExecutingPlatformName,
const std::string & aManeuverType ) const

◆ ValidOffsetFrame()

bool wsf::space::TargetPointOptions::ValidOffsetFrame ( wsf::space::OrbitalReferenceFrame aFrame)
static

Returns if this object supports the given frame for offsets.

References wsf::space::cNTW, and wsf::space::cRIC.

Referenced by ProcessInput(), SetPositionOffset(), SetVelocityOffset(), and ValidateParameterRanges().


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