|
WSF
|
#include <WsfDirectedEnergyWeapon.hpp>


Classes | |
| class | Beam |
Public Member Functions | |
| WsfDirectedEnergyWeapon (const WsfScenario &aScenario) | |
| WsfDirectedEnergyWeapon & | operator= (const WsfDirectedEnergyWeapon &)=delete |
| ~WsfDirectedEnergyWeapon () override | |
| WsfWeapon * | Clone () const override |
| Beam * | GetBeam () const |
| void | SetBeam (Beam *aBeamPtr) |
| Set the beam structure. The instance assumes ownership of the passed object. | |
| FireResult | Fire (double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings) override |
| void | CeaseFire (double aSimTime) override |
| virtual bool | IsFiring () const |
| Return whether the weapon is firing for the last updated time. | |
| void | EngagementComplete (double aSimTime, WsfWeaponEngagement *aEngagementPtr) override |
| Public Member Functions inherited from WsfImplicitWeapon | |
| WsfImplicitWeapon (const WsfScenario &aScenario) | |
| ~WsfImplicitWeapon () override | |
| WsfWeapon * | Clone () const override |
| bool | Initialize (double aSimTime) override |
| void | Update (double aSimTime) override |
| const char * | GetScriptClassName () const override |
| WsfStringId | GetTargetName () const |
| Return the current target name. | |
| WsfStringId | GetTargetOffset () const |
| Return the name id of the target offset, if any. | |
| WsfWeaponEngagement * | GetCurrentEngagement () const |
| void | ClearCurrentEngagement (double aSimTime) |
| Clear the current engagement. | |
| WsfWeaponEngagement * | GetEngagement (int aEngagementId=0) const |
| void | ClearEngagement (double aSimTime, int aEngagementId=0) |
| Clear the current engagement. | |
| FireResult | Fire (double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings) override |
| void | CeaseFire (double aSimTime) override |
| ComponentList & | GetComponents () |
| const ComponentList & | GetComponents () 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 | |
| WsfComponent * | CloneComponent () 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_Rcvr & | GetEM_Rcvr (size_t aIndex) |
| virtual size_t | GetEM_XmtrCount () const |
| virtual WsfEM_Xmtr & | GetEM_Xmtr (size_t aIndex) |
| virtual size_t | GetEM_XmtrCount (size_t aModeIndex) const |
| virtual WsfEM_Xmtr & | GetEM_Xmtr (size_t aModeIndex, size_t aIndex) |
| virtual WsfEM_Xmtr & | GetEM_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 WsfWeaponMode * | GetCurrentMode () |
| virtual size_t | GetModeCount () |
| Get the number of modes associated with the weapon. | |
| virtual WsfWeaponMode * | GetModeEntry (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) |
| WsfLaunchComputer * | GetLaunchComputer () 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 | AbortSalvo (double aSimTime, const WsfTrackId &aTrackId) |
| 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 | GetQuantityRemaining () 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 |
| WsfTrack * | CreateTargetTrack (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 |
| 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 |
| void | SetPlatform (WsfPlatform *aPlatformPtr) 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) | |
| WsfPlatformPart & | operator= (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 |
| WsfSimulation * | GetSimulation () const |
| const WsfScenario & | GetScenario () const |
| WsfStringId | GetComponentName () const override |
| void | ComponentParentChanged (WsfPlatform *aPlatformPtr) override |
| WsfPlatform * | GetPlatform () 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 |
| WsfInternalLinks & | GetInternalLinks () |
| 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 WsfCategoryList & | GetCategories () 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 WsfGroupList & | GetGroups () 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 TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (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 | |
| WsfComponentT & | operator= (const WsfComponentT &) noexcept |
| ~WsfComponentT () override=default | |
| ParentType * | GetComponentParent () 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. | |
| WsfUniqueId & | operator= (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 | |
| WsfAuxDataEnabled & | operator= (const WsfAuxDataEnabled &aRhs) |
| WsfAuxDataEnabled (WsfAuxDataEnabled &&)=default | |
| WsfAuxDataEnabled & | operator= (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 | |
| WsfAttributeContainer & | GetAuxData () |
| const WsfAttributeContainer & | GetAuxData () const noexcept |
| const WsfAttributeContainer & | GetAuxDataConst () 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. | |
Component infrastructure methods not provided by WsfWeapon. | |
| WsfComponent * | CloneComponent () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) override |
| WsfDirectedEnergyWeapon (const WsfDirectedEnergyWeapon &aSrc) | |
| virtual bool | BeginEngagement (double aSimTime, EngagementData *aEngagementDataPtr) |
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< WsfStringId > | TypeList |
| 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> |
| Protected Member Functions inherited from WsfImplicitWeapon | |
| WsfImplicitWeapon (const WsfImplicitWeapon &aSrc) | |
| WsfImplicitWeapon & | operator= (const WsfImplicitWeapon &)=delete |
| void | DeleteEngagementData (EngagementData *aEngagementDataPtr) |
| bool | BeginEngagement (double aSimTime, EngagementData *aEngagementDataPtr) |
| void | EngagementComplete (double aSimTime, WsfWeaponEngagement *aEngagementPtr) override |
| WsfWeapon (const WsfWeapon &aSrc) | |
| Copy constructor (for Clone()). | |
| WsfWeapon & | operator= (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) |
| WsfModeList * | mModeListPtr |
| The pointer to the list of modes (for things like jammers). | |
| WeaponStatusMap | mWeaponStatusMap |
| WsfMaskingPattern * | mMaskingPatternPtr |
| 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. | |
An interface for directed energy weapons. Currently directed-energy weapons are modeled as an implicit weapon with an optional "beam" object. This object is suitable for HEL modeling. For HPM modeling another structure should be added and used instead of the beam object.
| WsfDirectedEnergyWeapon::WsfDirectedEnergyWeapon | ( | const WsfScenario & | aScenario | ) |
References WsfImplicitWeapon::WsfImplicitWeapon().
Referenced by Clone(), operator=(), WsfDirectedEnergyWeapon(), WsfLaserWeapon::WsfLaserWeapon(), and WsfLaserWeapon::WsfLaserWeapon().
|
override |
|
protected |
References WsfDirectedEnergyWeapon(), and WsfImplicitWeapon::WsfImplicitWeapon().
|
protectedvirtual |
|
overridevirtual |
Reimplemented from WsfWeapon.
Reimplemented in WsfLaserWeapon.
References WsfImplicitWeapon::CeaseFire().
Referenced by WsfDisDirectedEnergyFire::Process().
|
inlineoverridevirtual |
Clone this object.
Implements WsfWeapon.
Reimplemented in WsfLaserWeapon.
References WsfDirectedEnergyWeapon(), and WsfWeapon::WsfWeapon().
|
inlineoverridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfImplicitWeapon::Clone().
|
overridevirtual |
Method used by the weapon engagement when the weapon platform terminates or the engagement is about to be marked "complete" (which is not the same as "ended"). This is not an observer callback but is used to update weapon and engagement status prior to the WsfObserver::WeaponTerminated call.
Reimplemented from WsfWeapon.
References WsfWeapon::EngagementComplete(), WsfWeaponEngagement::GetFiringPlatform(), WsfWeaponEngagement::GetTargetPlatform(), WsfWeaponEngagement::SetTargetLocationWCS(), and WsfWeaponEngagement::SetWeaponVelocityWCS().
|
overridevirtual |
Attempt to fire a weapon. WsfPlatform::GetCurrentTarget() will be used as the target if it is defined.
| aSimTime | The current simulation time. |
| aTarget | The target of the weapon. |
| aSettings | Options for firing the weapon. |
Reimplemented from WsfWeapon.
Reimplemented in WsfLaserWeapon.
References WsfObserver::DirectedEnergyWeaponFired(), WsfImplicitWeapon::Fire(), WsfImplicitWeapon::GetEngagement(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::GetSimulation(), WsfWeapon::FireResult::mSuccess, WsfWeapon::FireTarget::mTargetName, WsfWeapon::FireTarget::mTrackPtr, and success.
Referenced by WsfLaserWeapon::Fire().
|
inline |
Return the Spot object associated with this directed energy weapon. If this weapon is not a spot-based weapon, this method returns zero.
Referenced by WsfDisWeaponEvents::DirectedEnergyWeaponFired(), WsfDisWeaponEvents::DirectedEnergyWeaponHit(), wsf::event::utils::GetAdditionalDE_Info(), wsf::event::utilsCSV::GetAdditionalDE_Info(), WsfDisDirectedEnergyFire::Process(), and WsfHighEnergyLaser::UpdateEngagementGeometry().
|
overridevirtual |
Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:
Reimplemented from WsfArticulatedPart.
References cWSF_COMPONENT_ARTICULATED_PART, cWSF_COMPONENT_DIRECTED_ENERGY_WEAPON, cWSF_COMPONENT_NULL, cWSF_COMPONENT_PLATFORM_PART, and cWSF_COMPONENT_WEAPON.
|
virtual |
Return whether the weapon is firing for the last updated time.
Return whether the weapon is currently firing. The default implementation returns true if the weapon currently has an engagement.
Reimplemented in WsfLaserWeapon.
Referenced by WsfDisWeaponEvents::DirectedEnergyWeaponFired().
|
delete |
References WsfDirectedEnergyWeapon().
|
overridevirtual |
Requests a component's role interface. A component can support one or more roles.
| aRole | The role whose interface is to be returned. |
Reimplemented from WsfArticulatedPart.
References cWSF_COMPONENT_ARTICULATED_PART, cWSF_COMPONENT_DIRECTED_ENERGY_WEAPON, cWSF_COMPONENT_PLATFORM_PART, cWSF_COMPONENT_WEAPON, WsfArticulatedPart::WsfArticulatedPart(), and WsfWeapon::WsfWeapon().
| void WsfDirectedEnergyWeapon::SetBeam | ( | WsfDirectedEnergyWeapon::Beam * | aBeamPtr | ) |
Set the beam structure. The instance assumes ownership of the passed object.
Referenced by WsfDisDirectedEnergyFire::Process(), and WsfLaserWeapon::SetHEL().