|
WSF
|
A specialization of WsfWeapon for weapons modeled as separate platforms. More...
#include <WsfExplicitWeapon.hpp>


Classes | |
| class | DeferredLaunch |
| struct | CommandChain |
Public Member Functions | |
| WsfExplicitWeapon (WsfScenario &aScenario) | |
| ~WsfExplicitWeapon () 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 | 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 |
| 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 |
| 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) | |
| 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. | |
Common Framework methods. | |
| WsfScriptContext * | mContextPtr |
| double | mLaunchDeltaV_PCS [3] |
| The initial velocity vector relative to the launcher. | |
| double | mDeferredLaunchDelay |
| std::vector< DeferredLaunch > | mDeferredLaunches |
| 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< CommandChain > | mCommandChains |
| 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 |
| WsfWeapon * | Clone () 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 |
| WsfExplicitWeapon (const WsfExplicitWeapon &aSrc) | |
| Copy constructor (for Clone()). | |
| WsfExplicitWeapon & | operator= (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. | |
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> |
| 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. | |
A specialization of WsfWeapon for weapons modeled as separate platforms.
| WsfExplicitWeapon::WsfExplicitWeapon | ( | WsfScenario & | aScenario | ) |
References mCommandChains, mContextPtr, mDeferredLaunchDelay, mDeferredLaunches, mIdOffset, mIgnoreLaunchPlatformVelocity, mLastIndexLaunched, mLaunchDeltaV_PCS, mRequireInterceptPoint, mRequireLoftAngle, mWeaponToolsGenMode, and WsfWeapon::WsfWeapon().
Referenced by Clone(), wsf::six_dof::ExplicitWeapon::ExplicitWeapon(), operator=(), WsfChaffWeapon::WsfChaffWeapon(), WsfExplicitWeapon(), and WsfP6DOF_ExplicitWeapon::WsfP6DOF_ExplicitWeapon().
|
override |
References mContextPtr.
|
protected |
Copy constructor (for Clone()).
References mCommandChains, mContextPtr, mDeferredLaunchDelay, mDeferredLaunches, mIdOffset, mIgnoreLaunchPlatformVelocity, mLastIndexLaunched, mLaunchDeltaV_PCS, mRequireInterceptPoint, mRequireLoftAngle, mWeaponToolsGenMode, WsfExplicitWeapon(), and WsfWeapon::WsfWeapon().
|
overridevirtual |
Abort any pending rounds from a salvo.
| aSimTime | The current simulation time. |
| aTrackId | The track ID of the track that was passed to the FireSalvo request whose salvo is to be aborted. If the track ID is Null() then all pending salvos will be aborted. |
Reimplemented from WsfWeapon.
References WsfWeapon::AbortSalvo(), WsfPlatformPart::GetSimulation(), WsfTrack::GetTrackId(), WsfTrackId::IsNull(), mDeferredLaunches, WsfExplicitWeapon::DeferredLaunch::mLaunchTrackPtr, WsfObserver::WeaponFireAborted(), and WsfWeapon::WeaponFireAborted().
|
protectedvirtual |
Add the weapon platform to the simulation.
This routine is called to add the weapon platform for either an immediate launch or for a deferred launch when it has been determined that the weapon has actually been launched.
| aSimTime | The current simulation time. |
| aWeaponPlatformPtr | Pointer to the weapon platform to be added. |
| aLaunchingTrackPtr | Pointer to the track being fired against. |
| aSettings | Options that Fire was called with. |
Reimplemented in WsfChaffWeapon.
References WsfWeapon::ChangeQuantity(), WsfWeapon::cWEAPON_STATE_READY, WsfWeapon::cWEAPON_STATE_UNALLOCATED, WsfPlatformPart::DebugEnabled(), WsfSimulation::DeletePlatform(), WsfWeaponEngagement::Find(), WsfObject::GetName(), WsfObject::GetNameId(), WsfPlatformPart::GetPlatform(), WsfWeaponEngagement::GetSerialNumber(), WsfPlatformPart::GetSimulation(), WsfWeapon::GetState(), WsfTrack::GetTrackId(), WsfWeaponEngagement::GetWeaponPlatformIndex(), WsfPlatform::IsExternallyControlled(), mIdOffset, WsfWeapon::FireOptions::mWeaponId, WsfWeapon::mWeaponStatusMap, WsfWeapon::ProcessReloading(), WsfPlatformPart::SendMessage(), WsfStatusMessage::SetPlatform(), WsfStatusMessage::SetRequestId(), WsfWeapon::SetState(), WsfStatusMessage::SetSystemNameId(), WsfWeapon::SetTimeLastFired(), success, WsfObserver::WeaponFireAborted(), WsfWeapon::WeaponFireAborted(), WsfObserver::WeaponFired(), and WsfObserver::WeaponPlatformPendingAdd().
Referenced by WsfChaffWeapon::AddWeaponToSimulation(), FireP(), operator=(), and ProcessDeferredLaunchEvent().
|
overridevirtual |
Standard Clone() method.
Implements WsfWeapon.
Reimplemented in WsfP6DOF_ExplicitWeapon.
References WsfExplicitWeapon(), and WsfWeapon::WsfWeapon().
|
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 WsfP6DOF_ExplicitWeapon.
References WsfScenario::CloneType(), WsfPlatformPart::DebugEnabled(), FireP(), WsfPlatformPart::GetDamageFactor(), WsfWeapon::GetFiringInterval(), WsfWeapon::GetLaunchedPlatformType(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), GetQuantityRemaining(), WsfPlatformPart::GetScenario(), WsfWeapon::GetTimeLastFired(), WsfWeapon::InhibitWhileReloading(), and WsfWeapon::IsReloading().
Referenced by WsfChaffWeapon::Fire().
|
protectedvirtual |
Called by Fire once it is determined that a weapon can be launched.
References WsfSimulation::AddEvent(), AddWeaponToSimulation(), WsfWeaponEngagement::Assign(), WsfPlatform::AssignToSimulation(), computerPtr, WsfWeaponEngagement::CopySerialNumber(), WsfWeapon::CreateTargetTrack(), WsfTrackManager::GetCurrentTarget(), WsfWeapon::GetIFCEnabled(), WsfPlatform::GetIndex(), WsfLaunchComputer::GetInterceptPoint(), WsfWeapon::GetLaunchComputer(), WsfLaunchComputer::GetLoftAngle(), WsfPlatform::GetMover(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::GetScenario(), WsfPlatform::GetSide(), WsfPlatformPart::GetSimulation(), WsfWeapon::GetTotalQuantityUsed(), WsfPlatform::GetTrackManager(), WsfObject::GetType(), WsfWeapon::GetWeaponEffectsType(), WsfWeaponEffects::GetWeaponEffectsType(), WsfPlatform::Initialize(), InitializeCommandChains(), mContextPtr, mDeferredLaunchDelay, mDeferredLaunches, WsfWeapon::FireResult::mEngagementPtr, mLastIndexLaunched, mRequireInterceptPoint, mRequireLoftAngle, WsfWeapon::FireResult::mSuccess, WsfWeapon::FireTarget::mTrackPtr, WsfWeapon::FireOptions::mWeaponPlatformName, WsfTrackManager::SetCurrentTarget(), WsfWeaponEngagement::SetIFCEnabled(), WsfWeaponEngagement::SetInitialTargetLocationWCS(), SetLaunchState(), WsfPlatform::SetMover(), WsfObject::SetName(), WsfPlatform::SetSide(), WsfObject::SetType(), WsfPlatform::SwapMover(), targetIndex(), trackPtr, UseDeferredLaunching(), and WeaponPlatformUserInitialize().
Referenced by wsf::six_dof::ExplicitWeapon::Fire(), Fire(), WsfP6DOF_ExplicitWeapon::Fire(), and operator=().
|
inline |
References mDeferredLaunchDelay.
|
inline |
Should the launch platform velocity should be ignored when setting the initial weapon velocity.
References mIgnoreLaunchPlatformVelocity.
|
virtual |
Get the velocity vector with which the weapon is ejected from the host platform. The velocity vector is in the PART (or PCS) frame and will be transformed into the host platform frame and then added to the host platform's current velocity to determine the initial velocity vector of the weapon platform.
References mLaunchDeltaV_PCS.
|
inline |
Get offset for the start of the dis entity id range for this weapon type.
References mIdOffset.
Referenced by UT_DEFINE_SCRIPT_METHOD_NOCHECK().
|
overridevirtual |
Return the quantity (rounds, bombs, units) remaining.
This includes the number of units that have been committed via 'FireSalvo'.
Reimplemented from WsfWeapon.
References WsfWeapon::GetQuantityRemaining(), and mDeferredLaunches.
Referenced by Fire(), and WsfSA_Processor::UpdateWeaponsData().
|
overridevirtual |
Perform phase 1 initialization. This is called by WsfPlatform::Initialize() during phase 1 initialization of the platform. The component should complete validation of input data that could not be done by ProcessInput, as well as any other functions to prepare for simulation use (subject to the next paragraph).
The order in which components are initialized is defined by GetComponentInitializationOrder. In general a component implementation of this method should not be dependent on the state of another component, i.e.: it should not assume that the other components Initialize() method has been called. If such a dependency exists one should use Initialize2() if possible, or specify a value GetComponentInitializationOrder to force things to initialize in a particular order.
| aSimTime | The current simulation time. |
Reimplemented from WsfArticulatedPart.
References WsfWeapon::GetLaunchedPlatformType(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::GetScenario(), WsfWeapon::Initialize(), mContextPtr, and ok.
Referenced by WsfChaffWeapon::Initialize().
|
overridevirtual |
Perform phase 2 initialization. This is called by WsfPlatform::Initialize() during phase 2 of platform initialization. This method is typically used when a component may have some dependency on another component having completed its phase 1 initialization. The component should be ready for use in the simulation upon completion of this method.
The order in which components are initialized is defined by GetComponentInitializationOrder.
| aSimTime | The current simulation time. |
Reimplemented from WsfComponent.
References WsfWeapon::Initialize2(), mContextPtr, and ok.
|
protected |
Set up the command chains in the launched weapon.
References WsfComponentListT< COMPONENT_TYPE >::AddComponent(), WsfComponentList::RoleIterator< T >::AtEnd(), WsfCommandChain::GetCommanderName(), WsfComponentList::GetComponent(), WsfObject::GetName(), WsfObject::GetNameId(), WsfPlatformPart::GetPlatform(), and mCommandChains.
Referenced by FireP(), and operator=().
|
inline |
References mWeaponToolsGenMode.
|
inline |
References mLastIndexLaunched.
|
protecteddelete |
|
virtual |
Process a mover update request for a deferred launch. This is called by DeferredLaunchEvent to attempt to move the deferred launch process along.
| aSimTime | The current simulation time. |
| aRealPlatformPtr | The pointer to the 'real' weapon platform. |
| aTempPlatformPtr | The pointer to the temporary weapon platform. |
References AddWeaponToSimulation(), WsfWeapon::ChangeQuantity(), WsfPlatform::GetDamageFactor(), WsfPlatform::GetMover(), WsfPlatformPart::GetScenario(), WsfPlatformPart::GetSimulation(), WsfMover::GetUpdateInterval(), mDeferredLaunches, WsfExplicitWeapon::DeferredLaunch::mLaunchTrackPtr, moverPtr, WsfPlatform::SetMover(), WsfMover::SetUpdateInterval(), WsfPlatform::SwapMover(), WsfSimulation::TurnPartOn(), WsfObserver::WeaponFireAborted(), and WsfWeapon::WeaponFireAborted().
|
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'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfArticulatedPart.
Reimplemented in WsfP6DOF_ExplicitWeapon.
References WsfCommandChain::GetDefaultName(), WsfExplicitWeapon::CommandChain::mCommandChainName, mCommandChains, WsfExplicitWeapon::CommandChain::mCommanderName, mContextPtr, mDeferredLaunchDelay, mIdOffset, mIgnoreLaunchPlatformVelocity, mLaunchDeltaV_PCS, mRequireInterceptPoint, mRequireLoftAngle, and WsfWeapon::ProcessInput().
Referenced by wsf::six_dof::ExplicitWeapon::ProcessInput(), WsfChaffWeapon::ProcessInput(), and WsfP6DOF_ExplicitWeapon::ProcessInput().
|
inline |
Indicate if the launch platform velocity should be ignored when setting the initial weapon velocity.
References mIgnoreLaunchPlatformVelocity.
|
inline |
References mWeaponToolsGenMode.
|
virtual |
Set the launch velocity relative to the launching part (See GetLaunchDeltaV).
References mLaunchDeltaV_PCS.
|
protectedvirtual |
Calculate the motion state initial conditions of the launched weapon. Currently, this method assumes a 3-degree of freedom flyout, and so sets the resulting NED roll angle to zero.
Reimplemented in WsfChaffWeapon.
References WsfPlatformPart::DebugEnabled(), WsfLaunchHandoffData::FindOrCreate(), WsfComponentList::GetComponent(), WsfWeapon::GetLaunchComputer(), WsfPlatformPart::GetPlatform(), mIgnoreLaunchPlatformVelocity, mLaunchDeltaV_PCS, WsfLaunchHandoffData::SetLaunchComputerData(), WsfLaunchHandoffData::SetLaunchDeltaV(), WsfLaunchHandoffData::SetLaunchPlatformData(), WsfArticulatedPart::UpdatePosition(), and vel.
Referenced by FireP(), and operator=().
|
inline |
References mIdOffset.
Referenced by UT_DEFINE_SCRIPT_METHOD().
|
overridevirtual |
Set the platform to which this part is associated.
| aPlatformPtr | Pointer to the containing platform. |
Reimplemented from WsfArticulatedPart.
References WsfPlatform::GetScriptContext(), mContextPtr, and WsfArticulatedPart::SetPlatform().
|
overridevirtual |
Turn off the platform part (system).
| aSimTime | The current simulation time. |
Reimplemented from WsfPlatformPart.
References mDeferredLaunches, and WsfWeapon::TurnOff().
|
virtual |
Should the 'deferred launching' method be used for explicit weapon launching?
Some movers contain logic that may delay or abort the launch of a weapon platform. Rather than creating platforms and publishing them to the world, a mover may support the concept of 'deferred launching' whereby the WsfExplicitWeapon and the mover work together to add the platform to the simulation only when the mover has committed the weapon to launch.
An example is the (C)SIMS mover, which enforces a launch computer hold if the target position does not meet certain constraints. In theory, a user should not launch a weapon in such a case, but it is almost impossible (and counter-productive) to replicate the SIMS logic in the WSF launch decision making code. We could launch the weapon and let it fail, but this could cause a a lot of extraneous platforms to be created, lots of unnecessary and confusing DIS Fire/Detonate PDUs, and cause us to run out of DIS entity ID's.
The deferred launch protocol is as follows:
Referenced by FireP().
|
protectedvirtual |
Allow for user initialization of the weapon's platform.
Reimplemented in WsfChaffWeapon.
Referenced by FireP(), operator=(), and WsfChaffWeapon::WeaponPlatformUserInitialize().
|
protected |
Referenced by InitializeCommandChains(), ProcessInput(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
Referenced by FireP(), Initialize(), Initialize2(), ProcessInput(), SetPlatform(), WsfExplicitWeapon(), WsfExplicitWeapon(), and ~WsfExplicitWeapon().
|
protected |
The delay time for simulated deferred launching. This is a testing tool for exercising the deferred launch capability without having to use JAAM or CSIMS.
Referenced by FireP(), GetDeferredLaunchDelay(), ProcessInput(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
The list of deferred launches that are in progress. A deferred launch is one in which the mover of the launched weapon platform wants to decide if a platform should actually be added to the simulation. See the code for more details.
Referenced by AbortSalvo(), FireP(), GetQuantityRemaining(), ProcessDeferredLaunchEvent(), TurnOff(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
The offset value from which the platform DIS entity id value will be derived.
Referenced by AddWeaponToSimulation(), GetOffsetId(), ProcessInput(), SetOffsetId(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
If true, align all initial velocity along the body orientation (ignore tip-off angle).
Referenced by GetIgnoreLaunchPlatformVelocity(), ProcessInput(), SetIgnoreLaunchPlatformVelocity(), SetLaunchState(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
The platform index of the last platform successfully launched.
Referenced by FireP(), LastIndexFired(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
The initial velocity vector relative to the launcher.
Referenced by GetLaunchDeltaV(), wsf::six_dof::ExplicitWeapon::ProcessInput(), ProcessInput(), WsfP6DOF_ExplicitWeapon::ProcessInput(), SetLaunchDeltaV(), SetLaunchState(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
Launch computer data required.
Referenced by FireP(), ProcessInput(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
Referenced by FireP(), ProcessInput(), WsfExplicitWeapon(), and WsfExplicitWeapon().
|
protected |
Referenced by IsWeaponToolsGenerationMode(), SetIsWeaponToolsGenerationMode(), WsfExplicitWeapon(), and WsfExplicitWeapon().