WSF
wsf::six_dof::ExplicitWeapon Class Reference

#include <WsfSixDOF_ExplicitWeapon.hpp>

Inheritance diagram for wsf::six_dof::ExplicitWeapon:
Collaboration diagram for wsf::six_dof::ExplicitWeapon:

Public Member Functions

 ExplicitWeapon (WsfScenario &aScenario)
WsfWeaponClone () const override
bool ProcessInput (UtInput &aInput) override
FireResult Fire (double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings) override
Public Member Functions inherited from WsfExplicitWeapon
 WsfExplicitWeapon (WsfScenario &aScenario)
 ~WsfExplicitWeapon () override
WsfWeaponClone () const override
 Standard Clone() method.
bool Initialize (double aSimTime) override
bool Initialize2 (double aSimTime) override
bool ProcessInput (UtInput &aInput) override
void TurnOff (double aSimTime) override
FireResult Fire (double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings) override
void AbortSalvo (double aSimTime, const WsfTrackId &aTrackId) override
double GetQuantityRemaining () const override
double GetDeferredLaunchDelay () const
bool GetIgnoreLaunchPlatformVelocity () const
 Should the launch platform velocity should be ignored when setting the initial weapon velocity.
void SetIgnoreLaunchPlatformVelocity (bool aValue)
 Indicate if the launch platform velocity should be ignored when setting the initial weapon velocity.
virtual void GetLaunchDeltaV (double aDV[3]) const
virtual void SetLaunchDeltaV (const double aLaunchDeltaV[3])
 Set the launch velocity relative to the launching part (See GetLaunchDeltaV).
size_t LastIndexFired () const
int GetOffsetId () const
 Get offset for the start of the dis entity id range for this weapon type.
void SetOffsetId (int aOffset)
virtual int ProcessDeferredLaunchEvent (double aSimTime, WsfPlatform *aWeaponPlatformPtr, WsfPlatform *aTempPlatformPtr)
bool IsWeaponToolsGenerationMode () const
void SetIsWeaponToolsGenerationMode (bool aValue)
void SetPlatform (WsfPlatform *aPlatformPtr) override
virtual bool UseDeferredLaunching () const
ComponentListGetComponents ()
const ComponentListGetComponents () const
virtual bool AllocateTheWeapon (double aSimTime, WsfTrack *aTrackPtr, int aStoreId)
 Begin the weapon server allocation sequence.
void SetState (WeaponState aState)
WeaponState GetState () const
 Return weapon state.
 WsfWeapon (const WsfScenario &aScenario)
 ~WsfWeapon () override
WsfComponentCloneComponent () const override
const int * GetComponentRoles () const override
void * QueryInterface (int aRole) override
int GetComponentInitializationOrder () const override
const char * GetScriptClassName () const override
bool PreInitialize (double aSimTime) override
bool Initialize (double aSimTime) override
bool Initialize2 (double aSimTime) override
void PreInput () override
bool ProcessInput (UtInput &aInput) override
void Update (double aSimTime) override
 Update the state of the weapon to the supplied time value.
void TurnOff (double aSimTime) override
void TurnOn (double aSimTime) override
void SetNonOperational (double aSimTime) override
void SetOperational (double aSimTime) override
void PartBroken (double aSimTime) override
void Restore (double aSimTime) override
double GetUpdateInterval () const override
 Get the update interval.
virtual size_t GetEM_RcvrCount () const
virtual WsfEM_RcvrGetEM_Rcvr (size_t aIndex)
virtual size_t GetEM_XmtrCount () const
virtual WsfEM_XmtrGetEM_Xmtr (size_t aIndex)
virtual size_t GetEM_XmtrCount (size_t aModeIndex) const
virtual WsfEM_XmtrGetEM_Xmtr (size_t aModeIndex, size_t aIndex)
virtual WsfEM_XmtrGetEM_Xmtr (size_t aModeIndex, size_t aBeamIndex, size_t aIndex)
virtual WsfStringId GetCurrentModeName () const
 Return the string ID of the string associated with the name of the current mode.
virtual WsfWeaponModeGetCurrentMode ()
virtual size_t GetModeCount ()
 Get the number of modes associated with the weapon.
virtual WsfWeaponModeGetModeEntry (size_t aModeIndex)
virtual size_t GetModeIndex (WsfStringId aModeNameId)
virtual WsfStringId GetModeName (size_t aModeIndex)
virtual void DeselectMode (double aSimTime, WsfStringId aModeNameId)
virtual void SelectMode (double aSimTime, WsfStringId aModeNameId)
WsfLaunchComputerGetLaunchComputer () const
void SetLaunchComputer (WsfLaunchComputer *aLaunchComputerPtr)
WsfStringId GetWeaponEffectsType () const
 Get the string ID of the weapon effects to be used.
void SetWeaponEffectsType (WsfStringId aWeaponEffect)
 Set the string ID of the weapon effects to be used.
virtual void CueToTarget (double aSimTime, const WsfTrack *aTrackPtr)
virtual bool FireSalvo (double aSimTime, const FireTarget &aTarget, const SalvoOptions &aSettings)
virtual void ContinueSalvo (double aSimTime, unsigned int aRequestId)
virtual void CeaseFire (double aSimTime)
virtual unsigned int GetActiveRequestCount () const
 Return the number of 'FireSalvo' calls that are in process.
virtual unsigned int GetMaximumRequestCount () const
double GetTimeLastFired () const
 Get the simulation time when the weapon was last fired.
virtual double GetFiringDelay ()
void SetFiringDelay (const WsfRandomVariable &aFiringDelay)
virtual double GetSalvoInterval ()
double GetFiringInterval () const
void SetFiringInterval (double aFiringInterval)
WsfStringId GetLaunchedPlatformType () const
 Get the type of the platform that will be launched.
void SetLaunchedPlatformType (WsfStringId aLaunchedPlatformType)
 Set the type of the platform that will be launched.
double GetInitialStateQuantityRemaining () const
virtual double GetQuantityCommitted () const
 Return the quantity that is currently committed.
virtual double GetMaximumQuantity () const
 Return the maximum quantity that may be 'loaded'.
virtual double GetTotalQuantityUsed () const
 Return the cumulative running total of the quantity used (fired).
virtual void SetQuantityRemaining (double aQuantity)
void ChangeQuantity (double aDeltaQuantity)
bool IsReloading () const
bool InhibitWhileReloading () const
 Flag indicating that when a weapon reload is in progress, any firing will be inhibited.
virtual void CompleteReloading (double aSimTime, double aQuantity)
double GetReloadInventory () const
double GetReloadThreshold () const
 Returns the depleted value of inventory at which a reload is attempted.
double GetReloadIncrement () const
WsfTrackCreateTargetTrack (double aSimTime, const WsfTrack *aTrackPtr)
bool GetTargetLocationWCS (double aSimTime, const WsfTrack *aTrackPtr, double aTargetLocWCS[3])
virtual void SetTargetIndex (int aId, size_t aTargetIndex)
virtual size_t GetTargetIndex (int aId) const
virtual void SetTargetedLocationWCS (int aId, const double aTargetedLocationWCS[3])
virtual void GetTargetedLocationWCS (int aId, double aTargetedLocationWCS[3]) const
virtual bool TargetedLocationValid (int aId) const
virtual bool WithinFieldOfView (double aSimTime, WsfPlatform *aPlatformPtr)
virtual bool WithinFieldOfView (double aSimTime, WsfTrack *aTrackPtr)
virtual bool StartJamming (double aSimTime, double aFrequency, double aBandwidth, size_t aBeamNumber, WsfStringId aTechniqueId, WsfTrackId aTrackId, size_t aTargetIndex)
virtual bool StartJammingTrack (double aSimTime, WsfStringId aTechniqueId, const WsfTrack *aTrackPtr)
virtual bool StopJamming (double aSimTime, double aFrequency, double aBandwidth, size_t aBeamNumber, WsfTrackId aTrackId)
virtual bool UpdateJamming (double aSimTime, size_t aXmtrIndex, double aFrequency, double aBandwidth, WsfStringId aTechniqueId, WsfTrackId aTrackId, size_t aTargetIndex)
virtual size_t GetActiveBeamCount () const
virtual size_t GetMaximumBeamCount () const
virtual size_t GetActiveSpotCount (size_t aBeamNumber) const
virtual size_t GetMaximumSpotCount (size_t aBeamNumber) const
virtual bool SelectEA_Technique (double aSimTime, double aFrequency, double aBandwidth, size_t aBeamNumber, WsfStringId aTechniqueId, WsfTrackId aTrackId)
virtual bool DeselectEA_Technique (double aSimTime, double aFrequency, double aBandwidth, size_t aBeamNumber, WsfStringId aTechniqueId, WsfTrackId aTrackId)
virtual bool SetEA_DeltaGainTechnique (double aSimTime, WsfStringId aTechniqueId, bool aOnOff, WsfStringId aEffectId, double aJammingDeltaGain_dB, WsfStringId aSystemTypeId, WsfStringId aFunctionTypeId)
virtual bool SetEA_DeltaGainTechnique (double aSimTime, WsfStringId aTechniqueId, bool aOnOff, WsfStringId aEffectId, double aJammingDeltaGain_dB, WsfStringId aSystemTypeId, WsfStringId aFunctionTypeId, double aFrequency, double aBandwidth, size_t aBeamNumber, WsfTrackId aTrackId)
void SetUpdateInterval (double aUpdateInterval) override
double TimeWeaponLastFiredFor (const WsfTrackId &aTrackId) const
 Return the simulation time of the most recent weapon firing against the specified track.
double TimeWeaponLastTerminatedFor (const WsfTrackId &aTrackId) const
 Return the simulation time of the most recent weapon termination against the specified track.
int WeaponsPendingFor (const WsfTrackId &aTrackId) const
int WeaponsActiveFor (const WsfTrackId &aTrackId) const
int RoundsCompleteFor (const WsfTrackId &aTrackId) const
 Returns number of weapons that were fired at the track and are now terminated.
int WeaponsActiveAndPendingFor (const WsfTrackId &aTrackId) const
int RoundsFiredAt (const WsfTrackId &aTrackId) const
int SalvosFiredAt (const WsfTrackId &aTrackId) const
std::vector< size_t > ActiveWeaponPlatformsFor (const WsfTrackId &aTrackId) const
virtual void EngagementComplete (double aSimTime, WsfWeaponEngagement *aEngagementPtr)
void SetIFCEnabled (bool aEnabled)
 Set to true is IFC is supported.
bool GetIFCEnabled () const
 Returns 'true' if the platform supports IFC (Integrated Fire Control).
Public Member Functions inherited from WsfArticulatedPart
 WsfArticulatedPart (const WsfScenario &aScenario, int aPartType)
 WsfArticulatedPart (const WsfArticulatedPart &aSrc)
 ~WsfArticulatedPart () override
void SetPositionRateECS (const double aDX, const double aDY, const double aDZ)
void GetCurrentPositionRateECS (double &aDX, double &aDY, double &aDZ) const
double GetDX () const
double GetDY () const
double GetDZ () const
void EnableArticulationUpdates (double aSimTime, double aInterval)
void DisableArticulationUpdates (double aSimTime)
void SetArticulationUpdateInterval (double aUpdateInterval)
double GetArticulationUpdateInterval () const
unsigned int GetArticulationUpdateEventEpoch () const
void IncrementArticulationUpdateEventEpoch ()
bool ArticulationUpdateEventActive () const
 Is an 'Update' event active?
void SetArticulationUpdateEventActive (bool aUpdateEventActive)
 Indicate if the 'Update' event is active.
virtual double TimeToCue (double aDesiredAz, double aDesiredEl) const
const char * GetScriptClassName () const override
virtual void UpdatePosition (double aSimTime)
void OnPlatformUpdated (double, WsfPlatform *) override
SlewMode GetSlewMode () const
 Get the allowed slewing mode.
double GetAzSlewRate () const
 Get the current azimuth slew rate.
double GetElSlewRate () const
 Get the current elevation slew rate.
double GetMaxAzSlewRate () const
 Get the maximum allowable azimuth slew rate.
double GetMaxElSlewRate () const
 Get the maximum allowable elevation slew rate.
double GetMinAzSlew () const
 Gets the minimum azimuth slew limit.
double GetMaxAzSlew () const
 Gets the maximum azimuth slew limit.
double GetMinElSlew () const
 Gets the minimum elevation slew limit.
double GetMaxElSlew () const
 Gets the maximum elevation slew limit.
int GetSlewState () const
 Get the slew limit state.
void SetSlewMode (SlewMode aSlewMode)
 Set the allowed slewing mode.
void SetSlewRates (double aAzSlewRate, double aElSlewRate)
 Set the angular slew rates, limited by the maximum slew rates.
void SetAzSlewLimits (double aMinAzSlew, double aMaxAzSlew)
 Set the azimuth slew limits.
void SetElSlewLimits (double aMinElSlew, double aMaxElSlew)
 Set the elevation slew limits.
void SetAzimuthSlewDirection (SlewDirection aAzSlewDirection)
 Set the azimuth slew direction.
bool IsSlewing () const
bool WithinSlewLimits (double aThisToTgtAz, double aThisToTgtEl) const
SlewMode GetCueMode () const
 Get the allowed cueing mode.
double GetAzCueRate () const
 Get the azimuth cue rate.
double GetElCueRate () const
 Get the elevation cue rate.
double GetMinAzCue () const
 Gets the minimum azimuth cue limit.
double GetMaxAzCue () const
 Gets the maximum azimuth cue limit.
double GetMinElCue () const
 Gets the minimum elevation cue limit.
double GetMaxElCue () const
 Gets the maximum elevation cue limit.
void SetCueMode (SlewMode aCueMode)
 Set the allowed cueing mode.
void SetCueRates (double aAzCueRate, double aElCueRate)
 Set the angular cueing rates.
void SetAzCueLimits (double aMinAzCue, double aMaxAzCue)
 Set the azimuth cueing limits.
void SetElCueLimits (double aMinElCue, double aMaxElCue)
 Set the elevation cueing limits.
double GetRoll () const
void SetRoll (double aRoll)
 Set the platform-relative (ECS) roll angle of the articulated part.
double GetPitch () const
void SetPitch (double aPitch)
double GetYaw () const
void SetYaw (double aYaw)
 Set the platform-relative (ECS) yaw angle of the articulated part.
double GetTilt () const
void SetTilt (double aTilt)
void GetCurrentOrientationECS (double &aYaw, double &aPitch, double &aRoll)
void GetLOS_UnitVectorWCS (double aUnitLOS_WCS[3])
 Get the current WCS Frame Line-Of-Sight unit vector.
CueType GetCueType () const
bool IsCued () const
 Get the cued status.
void ClearCueing ()
bool GetActualCuedOrientation (double &aAzimuth, double &aElevation) const
void GetCurrentCuedOrientation (double &aAzimuth, double &aElevation) const
bool GetCuedLocationWCS (double aCuedLocationWCS[3]) const
void SetCuedLocationWCS (const double aCuedLocationWCS[3])
bool GetCuedOrientation (double &aAzimuth, double &aElevation) const
void SetCuedOrientation (double aAzimuth, double aElevation)
void GetAbsoluteCuedOrientation (double &aAzimuth, double &aElevation, double aBaseNED[3])
void ClearTransientCue ()
bool TransientCueActive () const
bool GetTransientCuedLocationWCS (double aCuedLocationWCS[3]) const
void SetTransientCuedLocationWCS (const double aCuedLocationWCS[3])
WsfStringId GetMaskingPatternState () const
void SetMaskingPatternState (WsfStringId aMaskingPatternStateId)
double GetMaskingPatternFactor (double aViewAzPCS, double aViewElPCS, const double aViewVecWCS[3])
void SetIsPrivate (bool aIsPrivate)
bool IsPrivate () const
Public Member Functions inherited from WsfPlatformPart
 WsfPlatformPart (const WsfScenario &aScenario, int aPartType)
WsfPlatformPartoperator= (const WsfPlatformPart &aRhs)=delete
 ~WsfPlatformPart () override
bool DebugEnabled () const
 Returns 'true' if debugging is enabled for this instance.
void SetDebugEnabled (bool aDebugEnabled)
unsigned int GetDebugMask ()
bool IsExternallyControlled () const
virtual void SetExternallyControlled (double aSimTime, bool aIsExternallyControlled)
int GetPartType () const
const char * GetScriptClassName () const override
WsfSimulationGetSimulation () const
const WsfScenarioGetScenario () const
WsfStringId GetComponentName () const override
void ComponentParentChanged (WsfPlatform *aPlatformPtr) override
WsfPlatformGetPlatform () const
virtual void PlatformAdded (double aSimTime, WsfPlatform *aPlatformPtr)
virtual void PlatformDeleted (WsfPlatform *aPlatformPtr)
double GetLastStatusChangeTime () const
void SetLastStatusChangeTime (double aSimTime)
 Allows a system to set the time at which the device was initialized.
bool CanBeMadeOperational () const
 Returns an indication that this system can be made operational.
bool CanBeMadeNonOperational () const
 Returns an indication that this system can be made non-operational.
bool CanBeTurnedOn () const
 Returns an indication that this system can be turned on.
bool CanBeTurnedOff () const
 Returns an indication that this system can be turned off.
bool IsTurnedOn () const
bool InitiallyTurnedOn () const
 Is the system to be turned 'on' when added to the simulation?
void SetInitiallyTurnedOn (bool aInitiallyTurnedOn)
 Sets if the system is turned on when added to the simulation.
bool IsOperational () const
bool SetOperational (double aSimTime, bool aMakeOperational)
double GetDamageFactor () const
bool SetDamageFactor (double aSimTime, double aDamageFactor)
bool IsCritical () const
void SetCritical (bool aValue)
virtual void OnPlatformBrokenEvent (double aSimTime)
 Owning platform has issued a broken event.
bool IsBroken () const
WsfInternalLinksGetInternalLinks ()
 Return the internal links for this part.
virtual bool HasInternalLinks () const
 Does this platform part have a communication link to other platform parts?
virtual bool ProcessMessage (double aSimTime, const WsfMessage &aMessage)
virtual bool ReceiveMessage (double aSimTime, const WsfMessage &aMessage)
virtual void SendMessage (double aSimTime, const WsfMessage &aMessage)
virtual void SendMessageTo (double aSimTime, const WsfMessage &aMessage, WsfStringId aRecipientId)
void SendMessageToProcessor (double aSimTime, const WsfMessage &aMessage, WsfStringId aRecipientId)
virtual void SendQueuedMessages (double aSimTime)
const WsfCategoryListGetCategories () const
 Get the categories to which this part belongs.
void AddCategory (WsfStringId aCategoryId)
 Adds the provided category to the platform part's category list.
bool IsCategoryMember (WsfStringId aCategoryId) const
const WsfGroupListGetGroups () const
 Get the groups to which this platform part belongs.
void JoinGroup (WsfGroup *aGroupPtr)
 Join the given group.
void LeaveGroup (WsfGroup *aGroupPtr)
 Leave the given group.
bool IsGroupMember (WsfStringId aGroupId)
unsigned int GetUpdateEventEpoch () const
void IncrementUpdateEventEpoch ()
bool UpdateEventActive () const
 Is an 'Update' event active?
void SetUpdateEventActive (bool aUpdateEventActive)
 Indicate if the 'Update' event is active.
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
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)
Public Member Functions inherited from WsfComponentT< WsfPlatform >
 WsfComponentT ()
 WsfComponentT (const WsfComponentT &) noexcept
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
Public Member Functions inherited from WsfUniqueId
 WsfUniqueId ()
 Construtor initializes the unique identifier to 0.
 WsfUniqueId (const WsfUniqueId &)
 Copy constructor initializes the unique identifier to 0.
WsfUniqueIdoperator= (const WsfUniqueId &)
unsigned int GetUniqueId () const
 Get the unique identifier assigned to this object.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
Public Member Functions inherited from WsfAuxDataEnabled
 WsfAuxDataEnabled ()=default
 WsfAuxDataEnabled (const WsfAuxDataEnabled &aSrc)=default
WsfAuxDataEnabledoperator= (const WsfAuxDataEnabled &aRhs)
 WsfAuxDataEnabled (WsfAuxDataEnabled &&)=default
WsfAuxDataEnabledoperator= (WsfAuxDataEnabled &&)=default
virtual ~WsfAuxDataEnabled () noexcept
void SetAuxData (const WsfAttributeContainer &aAuxData)
void DeleteAuxData ()
 Delete the aux data container from the object.
void MergeAuxData (const WsfAuxDataEnabled &aSrc)
 Merge the object's aux data with aux data from an existing object.
void UpdateAuxData (const WsfAuxDataEnabled &aSrc)
 Update the object's aux data with aux data from an existing object.
bool HasAuxData () const
 Returns true if this object has aux data.
bool ProcessInput (UtInput &aInput)
template<typename T>
void Serialize (T &aBuff)
 (De)serialization for XIO
WsfAttributeContainerGetAuxData ()
const WsfAttributeContainerGetAuxData () const noexcept
const WsfAttributeContainerGetAuxDataConst () const noexcept
Public Member Functions inherited from WsfSinglePlatformObserver
virtual ~WsfSinglePlatformObserver ()
virtual void OnPlatformDeleting (double aSimTime, WsfPlatform *aPlatformPtr)
 Called before the platform is actually deleted.
virtual void OnPlatformDeleted (double aSimTime, WsfPlatform *aPlatformPtr)
 Called just before the platform is removed from the simulation.

Protected Attributes

std::list< std::string > mSubobjectList
WsfScriptContextmContextPtr
double mLaunchDeltaV_PCS [3]
 The initial velocity vector relative to the launcher.
double mDeferredLaunchDelay
std::vector< DeferredLaunchmDeferredLaunches
size_t mLastIndexLaunched
 The platform index of the last platform successfully launched.
int mIdOffset
 The offset value from which the platform DIS entity id value will be derived.
std::vector< CommandChainmCommandChains
bool mIgnoreLaunchPlatformVelocity
 If true, align all initial velocity along the body orientation (ignore tip-off angle).
bool mRequireInterceptPoint
 Launch computer data required.
bool mRequireLoftAngle
bool mWeaponToolsGenMode
WsfModeListmModeListPtr
 The pointer to the list of modes (for things like jammers).
WeaponStatusMap mWeaponStatusMap
WsfMaskingPatternmMaskingPatternPtr
 The masking factor.
WsfStringId mMaskingPatternName
WsfStringId mMaskingPatternStateId
double mYaw
 The orientation of the device coordinate system.
double mPitch
double mRoll
double mDX
 The velocity of the part.
double mDY
double mDZ
double mTilt
 The tilt angle above below the scan plane.
double mAzSlewRate
 The slewing rates and limits of the device with respect to the device coordinate system.
double mElSlewRate
double mMaxAzSlewRate
double mMaxElSlewRate
double mMinAzSlew
double mMaxAzSlew
double mMinElSlew
double mMaxElSlew
SlewMode mSlewMode
SlewDirection mAzSlewDirection
int mSlewState
double mAzCueRate
 The cueing rates and limits of the device with respect to the device coordinate system.
double mElCueRate
double mMinAzCue
double mMaxAzCue
double mMinElCue
double mMaxElCue
SlewMode mCueMode
 The directions (az and/or el) in which cueing can be performed.
CueType mCueType
bool mTransientCueActive
 'true' if the transient cue is defined
double mCuedLocationWCS [3]
 The cued location if mCueType is cCUED_TO_LOCATION.
double mCuedAz
 The cued azimuth if mCueType == cCUED_TO_ANGLE.
double mCuedEl
 The cued elevation if mCueType == cCUED_TO_ANGLE.
double mTransientCuedLocationWCS [3]
 The transient cue, if mTransientCueActive is true.
double mActualCuedAz
 The actual cued location, subject to the slewing limits.
double mActualCuedEl
double mCurrentAz
double mCurrentEl
double mLastAzElUpdateTime
 The time when the current az/el were last updated.
double mLastUpdateTime
 The time when the x/y/z position was last updated.
bool mSlewMethodCoordinated
 'true' if slcue rates are dynamically adjusted so the target angles are reached simultaneously.
bool mIsSlewing
 'true' if the part is slewing to satisfy a cueing request.
bool mIsPrivate
 'true' if the part is considered 'private' and not to visible to external simulations.

Additional Inherited Members

Public Types inherited from WsfWeapon
enum  WeaponState {
  cWEAPON_STATE_UNALLOCATED , cWEAPON_STATE_ALLOCATED , cWEAPON_STATE_DEALLOCATE , cWEAPON_STATE_NACK ,
  cWEAPON_STATE_READY
}
using ComponentList = WsfComponentListT<WsfWeaponComponent>
Public Types inherited from WsfArticulatedPart
enum  SlewMode { cSLEW_FIXED = 0 , cSLEW_AZ = 1 , cSLEW_EL = 2 , cSLEW_AZ_EL = 3 }
enum  SlewDirection { cUNDEFINED = 0 , cPOSITIVE = 1 , cNEGATIVE = 2 }
enum  {
  cNOT_CUED = 0x0000 , cMIN_AZ = 0x0001 , cMAX_AZ = 0x0002 , cMIN_EL = 0x0004 ,
  cMAX_EL = 0x0008 , cAT_LIMIT_AZ_MASK = 0x0003 , cAT_LIMIT_EL_MASK = 0x000B , cAT_LIMIT_MASK = 0x000F ,
  cCUED_AZ = 0x0010 , cCUED_EL = 0x0020 , cCUED_AZ_EL = 0x0030 , cCUED_MASK = 0x0030
}
enum  CueType { cCUED_TO_NOTHING , cCUED_TO_LOCATION , cCUED_TO_ANGLE }
Public Types inherited from WsfPlatformPart
enum  { cLEVEL_ONE_DEBUG = 0x00000001 , cLEVEL_TWO_DEBUG = 0x00000002 }
using InternalMessageQueue = std::queue<WsfMessage*>
using RecipientMessageQueue = std::queue<std::pair<WsfPlatformPart*, WsfMessage*>>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
Public Types inherited from WsfComponentT< WsfPlatform >
typedef WsfPlatform ParentType
 This is needed to support the WsfComponentList template.
static double TimeWeaponLastFiredFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
static double TimeWeaponLastTerminatedFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
static int WeaponsPendingFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
static int WeaponsActiveFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
 Returns number of weapons that have been fired at the track and are still alive.
static int RoundsCompleteFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
 Returns number of weapons that were fired at the track and are now terminated.
static int WeaponsActiveAndPendingFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
 Equivalent to WeaponsActiveFor() plus WeaponsPendingFor().
static int RoundsFiredAt (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
 Equivalent to WeaponsActiveFor() plus RoundsCompleteFor().
static int SalvosFiredAt (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
 Returns number of salvo fire requests requested, and not the actual number of salvos fired.
static std::vector< size_t > ActiveWeaponPlatformsFor (const WsfPlatform &aPlatform, const WsfTrackId &aTrackId, WsfStringId aWeaponName=WsfStringId())
static void DetermineFirepowerStatus (WsfPlatform &aPlatform)
 Decide whether to set or clear the Firepower appearance bit.
UtCallbackListN< void(double)> SlewComplete
Static Public Attributes inherited from WsfWeapon
static const double cUNDEFINED_DOUBLE = 1.0E+30
Static Public Attributes inherited from WsfArticulatedPart
static constexpr double cINFINITE_SLEW_RATE = 1.0E+12 * UtMath::cRAD_PER_DEG
static constexpr double cALMOST_FULL_CIRCLE = 359.999 * UtMath::cRAD_PER_DEG
Static Public Attributes inherited from WsfAuxDataEnabled
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataAccessed
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataDestroyed
using WeaponStatusMap = std::map<WsfTrackId, WeaponStatus>
using WeaponStatusMapIter = WeaponStatusMap::iterator
using WeaponStatusMapConstIter = WeaponStatusMap::const_iterator
using WeaponStatusVal = std::pair<WsfTrackId, WeaponStatus>
 WsfExplicitWeapon (const WsfExplicitWeapon &aSrc)
 Copy constructor (for Clone()).
WsfExplicitWeaponoperator= (const WsfExplicitWeapon &)=delete
virtual bool AddWeaponToSimulation (double aSimTime, WsfPlatform *aWeaponPlatformPtr, const WsfTrack *aLaunchingTrackPtr, const FireOptions &aSettings)
void InitializeCommandChains (double aSimTime, WsfPlatform *aPlatformPtr)
 Set up the command chains in the launched weapon.
virtual void SetLaunchState (double aSimTime, WsfPlatform *aPlatformPtr, const FireOptions &aOptions)
virtual bool WeaponPlatformUserInitialize (double aSimTime, WsfPlatform *aWeaponPlatformPtr, const WsfTrack *aTrackPtr)
 Allow for user initialization of the weapon's platform.
virtual WsfWeapon::FireResult FireP (double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings, WsfPlatform *aWeaponPlatformPtr)
 Called by Fire once it is determined that a weapon can be launched.
 WsfWeapon (const WsfWeapon &aSrc)
 Copy constructor (for Clone()).
WsfWeaponoperator= (const WsfWeapon &)=delete
bool IsQuantitySpecified () const
virtual void ProcessReloading (double aSimTime)
void SetIsReloading (bool aValue)
 Method used for derived classes to set or clear the IsReloading Flag.
void SetModeList (WsfModeList *aModeListPtr)
void SetTimeLastFired (double aTimeLastFired)
void SetMaximumRequestCount (unsigned int aMaximumRequestCount)
double GetReloadInterval () const
virtual void WeaponFireAborted (double aSimTime, const WsfTrack *aTargetTrackPtr, double aQuantity)
bool FullCircle () const
virtual double GetAzimuthRotationRate () const
virtual double GetElevationRotationRate () const
void SlewToOrientation (double aSimTime, double aDesiredAz, double aDesiredEl)
virtual void TimeToRotate (double &aDeltaAz, double &aDeltaEl, double &aAzRate, double &aElRate, double &aTimeToAz, double &aTimeToEl) const
void UpdateCuedOrientation (double aSimTime)
bool UpdateOrientation (double aSimTime)
 WsfPlatformPart (const WsfPlatformPart &aSrc)
 Copy constructor (for Clone()).
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).
Protected Member Functions inherited from WsfUniqueId
void AssignUniqueId (WsfSimulation *aSimulationPtr)

Constructor & Destructor Documentation

◆ ExplicitWeapon()

wsf::six_dof::ExplicitWeapon::ExplicitWeapon ( WsfScenario & aScenario)
explicit

Member Function Documentation

◆ Clone()

WsfWeapon * wsf::six_dof::ExplicitWeapon::Clone ( ) const
overridevirtual

Clone this object.

Returns
a pointer to the new object.

Implements WsfWeapon.

References ExplicitWeapon(), and WsfWeapon::WsfWeapon().

◆ Fire()

WsfWeapon::FireResult wsf::six_dof::ExplicitWeapon::Fire ( double aSimTime,
const FireTarget & aTarget,
const FireOptions & aSettings )
overridevirtual

Attempt to fire a weapon. WsfPlatform::GetCurrentTarget() will be used as the target if it is defined.

Parameters
aSimTimeThe current simulation time.
aTargetThe target of the weapon.
aSettingsOptions for firing the weapon.
Note
This is the only virtual Fire() method, it should be implemented by derived classes.

Reimplemented from WsfWeapon.

References wsf::six_dof::Mover::DirectJettisonSubobjectPlatform(), WsfExplicitWeapon::FireP(), WsfPlatform::GetMover(), WsfPlatformPart::GetPlatform(), wsf::six_dof::Mover::GetSubobjectByBaseName(), and mSubobjectList.

◆ ProcessInput()

bool wsf::six_dof::ExplicitWeapon::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfObject.

References WsfExplicitWeapon::mLaunchDeltaV_PCS, mSubobjectList, WsfExplicitWeapon::ProcessInput(), and WsfWeapon::SetQuantityRemaining().

Member Data Documentation

◆ mSubobjectList

std::list<std::string> wsf::six_dof::ExplicitWeapon::mSubobjectList
protected

Referenced by Fire(), and ProcessInput().


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