|
WSF
|
#include <WsfWeaponFuse.hpp>


Public Types | |
| enum | AltCriteria { cNO_LIMIT , cDETONATE_ABOVE , cDETONATE_BELOW } |
| The AGL/MSL detonation criteria. More... | |
| enum | SpeedCriteria { cSC_NONE , cSC_SPEED , cSC_MACH , cSC_MACH_DECAY } |
| The Minimum Speed detonation criteria. More... | |
| enum | Reason { cNO_REASON , cPROXIMITY , cAGL_LIMIT , cMSL_LIMIT , cMIN_SPEED , cTOF_LIMIT , cCOAST_TIME_LIMIT , cCOMMAND } |
| Reason for the final state of the fuse object. More... | |
| enum | OnIntercept { cACTION_DETONATE , cACTION_HALT } |
| using | ComponentList = WsfComponentListT<WsfProcessorComponent> |
| 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. | |
Public Member Functions | |
| WsfWeaponFuse (WsfScenario &aScenario) | |
| Constructor. | |
| WsfWeaponFuse (const WsfWeaponFuse &aSrc) | |
| Copy constructor. | |
| ~WsfWeaponFuse () override | |
| WsfWeaponFuse & | operator= (const WsfWeaponFuse &)=delete |
| const char * | GetScriptClassName () const override |
| WsfProcessor * | Clone () const override |
| bool | Initialize (double aSimTime) override |
| bool | Initialize2 (double aSimTime) override |
| bool | ProcessInput (UtInput &aInput) override |
| void | Update (double aSimTime) override |
| void | Detonate (double aSimTime) |
| void | Arm (double aSimTime) |
| If the fuse is currently safed, command transition to the armed state. | |
| Reason | GetReason () const |
| Access the reason why the fuse arrived at its current State. | |
| double | GetMaximumTimeOfFlight () const |
| Access the values used to determine detonation based on Time, Altitude, and Speed. | |
| SpeedCriteria | GetSpeedCriteria () const |
| double | GetMinSpeedLimit () const |
| AltCriteria | GetMSL_Criteria () const |
| AltCriteria | GetAGL_Criteria () const |
| double | GetAGL_Limit () const |
| double | GetMSL_Limit () const |
| double | GetTimeOfFlightToArm () const |
| Public Member Functions inherited from WsfScriptProcessor | |
| WsfScriptProcessor (const WsfScenario &aScenario) | |
| WsfScriptProcessor (const WsfScenario &aScenario, WsfStringId aPartClass, const std::string &aPartVarName) | |
| ~WsfScriptProcessor () override | |
| bool | ProcessMessage (double aSimTime, const WsfMessage &aMessage) override |
| void | SendMessage (double aSimTime, const WsfMessage &aMessage) override |
| virtual void | ExecuteOnMessageCreate (double aSimTime, WsfMessage &aMessage) |
| virtual bool | ExecuteScript (double aSimTime, const std::string &aScriptName) |
| virtual bool | ExecuteScript (double aSimTime, WsfStringId aScriptName, UtScriptData &aScriptRetVal, const UtScriptDataList &aScriptArgs=UtScriptDataList()) |
| void | ExecuteScriptAtTime (double aTime, WsfStringId aScriptName, const UtScriptDataList &aScriptArgs) |
| virtual void | SuppressMessage (bool aSuppressMessage) |
| WsfScriptMessageHandler * | GetMessageHandler () |
| WsfScriptContext & | GetScriptContext () |
| UtScriptContext * | GetScriptAccessibleContext () const override |
| void | SetPlatform (WsfPlatform *aPlatformPtr) override |
| const WsfBehaviorTree * | BehaviorTree () const |
| WsfAdvancedBehaviorTree * | AdvancedBehaviorTree () const |
| virtual const WsfScriptStateMachine * | GetStateMachine () const |
| wsf::ExternalLinks & | GetExternalLinks () |
| std::string | State () |
| std::string | StateAll () |
| void | SetState (std::string &stateName) |
| void | SetStateAll (std::string &stateNameAll) |
| Public Member Functions inherited from WsfProcessor | |
| WsfProcessor (const WsfScenario &aScenario) | |
| ~WsfProcessor () override=default | |
| ComponentList & | GetComponents () |
| const ComponentList & | GetComponents () const |
| virtual void | ProcessCallback (double aSimTime, const WsfCallback &aCallback) |
| 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 |
| void | PreInput () override |
| 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 |
| double | GetUpdateInterval () const override |
| void | SetUpdateInterval (double aUpdateInterval) override |
| 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. | |
| virtual void | Restore (double aSimTime) |
| 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 | ReceiveMessage (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 |
Static Public Member Functions | |
| static std::unique_ptr< UtScriptClass > | CreateScriptClass (const std::string &aClassName, UtScriptTypes *aScriptTypesPtr) |
The following methods are only guaranteed to work before Initialize(). | |
| enum | TargetLossOption { cDETONATE , cCOAST , cCANCEL_PROXIMITY_CHECKS , cCONSIDER_ALL_PROXIMITY } |
| void | SetAirToGroundMode (bool aValue) |
| void | SetAGL_Criteria (AltCriteria aCriteria, double aAltAGL) |
| void | SetMSL_Criteria (AltCriteria aCriteria, double aAltMSL) |
| void | SetTargetName (WsfStringId aNameId) |
| void | SetUseCurrentTarget (bool aValue) |
| void | SetGrossProximityRange (double aRange) |
| void | SetHitProximityRange (double aRange) |
| void | SetGrossUpdateInterval (double aInterval) |
| void | SetFineUpdateInterval (double aInterval) |
| void | SetTOFToArm (double aTOF) |
| void | CheckForDetonation (double aSimTime) |
| virtual void | PrivateDetonate (double aSimTime) |
| void | PrintDetonationReason (double aSimTime) |
| bool | ProcessAltAGL (double aSimTime) |
| bool | ProcessAltMSL (double aSimTime) |
| void | ProcessMinSpeed (double aSimTime) |
| bool | ProcessProximity (double aSimTime) |
| bool | CheckAllTargets (double aSimTime) |
| Check all platforms to see if a detonation should occur. | |
| double | ComputeGrossProximityRange (const double aTgtVelWCS[3]) const |
| double | ComputeTimeToPCAorFuse (const double aTgtLocWCS[3], const double aTgtVelWCS[3]) const |
| void | SelectPCA_ForDetonation (double aSimTime, WsfPlatform *aTgtPtr, const double aTgtLocWCS[3], const double aTgtVelWCS[3], double aTimeToPCA, double aMissDistanceLimit) |
| void | ShowPCA_Results (double aSimTime, WsfPlatform *aTgtPtr, const double aTgtLocWCS[3], const double aTgtVelWCS[3], double aTimeToPCA) const |
| bool | UpdateTargetState (double aSimTime) |
| void | UpdateWeaponState (double aSimTime) |
| void | PermanentlyArrestMotion (double aSimTime) |
Additional Inherited Members | |
| Static Public Attributes inherited from WsfAuxDataEnabled | |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataAccessed |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataDestroyed |
| Protected Member Functions inherited from WsfScriptProcessor | |
| WsfScriptProcessor (const WsfScriptProcessor &aSrc) | |
| WsfProcessor (const WsfProcessor &aSrc) | |
| Copy constructor (for Clone()). | |
| WsfProcessor & | operator= (const WsfProcessor &aRhs)=delete |
| 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) |
| Protected Attributes inherited from WsfScriptProcessor | |
| WsfScriptContext * | mContextPtr |
| Pointer to the script context. | |
| WsfScriptMessageHandler * | mMessageHandlerPtr |
| Pointer to the 'on_message' handler. | |
| UtScript * | mOnMessageCreateScriptPtr |
| Pointer to the 'on_message_create' script. | |
| UtScriptClass * | mMessageClassPtr |
| wsf::ExternalLinks | mExternalLinks |
| The external recipients. | |
| WsfBehaviorTree * | mBehaviorTreePtr |
| ut::CloneablePtr< WsfAdvancedBehaviorTree > | mAdvancedBehaviorTreePtr |
| std::unique_ptr< WsfScriptStateMachine > | mStateMachinePtr |
| int | mStateIndex |
| bool | mSuppressMessage |
A class for a fuse, which initiates the detonation of a weapon.
This provides a simple implementation of a fuse which can initiate detonation based on:
The fuse can have delayed arming (mTOF_ToArm > 0). If the fuse is detonated before it is armed, the detonation will be considered a "dud". Altitude criteria and target proximity are not considered until the fuse is armed.
Reason for the final state of the fuse object.
|
protected |
What to do if the current target/named target is lost. Proximity check instruction: What to do if the current target/named target is lost?
| WsfWeaponFuse::WsfWeaponFuse | ( | WsfScenario & | aScenario | ) |
Constructor.
References cACTION_DETONATE, cCOAST, cNO_LIMIT, cNO_REASON, cSC_NONE, SetFineUpdateInterval(), and WsfScriptProcessor::WsfScriptProcessor().
Referenced by Clone(), operator=(), WsfAirTargetFuse::WsfAirTargetFuse(), WsfGroundTargetFuse::WsfGroundTargetFuse(), and WsfWeaponFuse().
| WsfWeaponFuse::WsfWeaponFuse | ( | const WsfWeaponFuse & | aSrc | ) |
Copy constructor.
References cNO_REASON, SetFineUpdateInterval(), WsfScriptProcessor::WsfScriptProcessor(), and WsfWeaponFuse().
|
override |
| void WsfWeaponFuse::Arm | ( | double | aSimTime | ) |
If the fuse is currently safed, command transition to the armed state.
References WsfPlatformPart::DebugEnabled(), WsfObject::GetName(), and WsfPlatformPart::GetPlatform().
Referenced by CheckForDetonation().
|
protected |
Check all platforms to see if a detonation should occur.
References ComputeGrossProximityRange(), ComputeTimeToPCAorFuse(), WsfPlatformPart::DebugEnabled(), WsfPlatform::GetCategories(), WsfPlatform::GetIndex(), WsfPlatform::GetLastUpdateTime(), WsfPlatformPart::GetPlatform(), WsfSimulation::GetPlatformCount(), WsfSimulation::GetPlatformEntry(), WsfPlatformPart::GetSimulation(), SelectPCA_ForDetonation(), ShowPCA_Results(), and WsfPlatform::Update().
Referenced by ProcessProximity().
|
protected |
References Arm(), cNO_LIMIT, cSC_NONE, cTOF_LIMIT, WsfPlatformPart::GetPlatform(), PrivateDetonate(), ProcessAltAGL(), ProcessAltMSL(), ProcessMinSpeed(), ProcessProximity(), WsfProcessor::SetUpdateInterval(), and UpdateWeaponState().
Referenced by Detonate(), and Update().
|
overridevirtual |
Create a clone of this object.
Reimplemented from WsfScriptProcessor.
References WsfProcessor::WsfProcessor(), and WsfWeaponFuse().
|
protected |
Compute the maximum range for which a target is considered in 'gross proximity'.
Target proximity calculations will not be performed unless the it is within 'gross proximity' of the weapon. This method will select a range that is appropriate for the current speed of the weapon and target.
| aTgtVelWCS | The target velocity vector. |
Referenced by CheckAllTargets(), and ProcessProximity().
|
protected |
Compute the closest point of approach between a specific weapon-target pair.
Given the position and velocity vector the weapon (member data) and the position and velocity vector of a target (arguments), compute the time to the closest point of approach assuming they each move at a uniform velocity (the uniform velocity case is not perfectly accurate, but is sufficient for small periods of time).
| aTgtLocWCS | [input] The location of the target. |
| aTgtVelWCS | [input] The velocity of the target. |
Referenced by CheckAllTargets(), and ProcessProximity().
|
static |
Create the 'class' object for the script system. This is invoked once by WsfScriptManager to create the 'class' object that defines the interface to instances of this class from the script system.
Referenced by operator=().
| void WsfWeaponFuse::Detonate | ( | double | aSimTime | ) |
Commanded detonation occurs immediately, as long as fuse is armed, but the weapon platform will be removed, even if the command results in a dud.
References cCOMMAND, and CheckForDetonation().
Referenced by WsfMobilityAndFirepowerLethality::Detonate().
|
inline |
|
inline |
|
inline |
Access the values used to determine detonation based on Time, Altitude, and Speed.
|
inline |
|
inline |
|
inline |
|
inline |
Access the reason why the fuse arrived at its current State.
|
inlineoverride |
|
inline |
|
inline |
|
overridevirtual |
Perform phase 1 initialization of the part. This is invoked by WsfPlatform::Initialize() during phase 1 initialization of the platform. During phase 1 initialization, platform components must not assume the existence of ANY data that is the responsibility of another platform component. In particular, the platform location and initial tracks cannot be assumed to be valid.
| aSimTime | The current simulation time. |
Reimplemented from WsfScriptProcessor.
References cDETONATE_ABOVE, cDETONATE_BELOW, WsfWeaponEngagement::Find(), WsfWeaponEngagement::GetFiringPlatformIndex(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::GetSimulation(), WsfScriptProcessor::Initialize(), ok, SetFineUpdateInterval(), and WsfProcessor::SetUpdateInterval().
|
overridevirtual |
Perform phase 2 initialization of the part. This is invoked by WsfPlatform::Initialize() during phase 2 initialization of the platform. During phase 2, platform components may assume that the platform location has been defined, initial tracks have been loaded and that all components have completed phase 1 initialization.
| aSimTime | The current simulation time. |
Reimplemented from WsfScriptProcessor.
References WsfTrackManager::GetCurrentTarget(), WsfLaunchComputer::GetInterceptTime(), WsfPlatformPart::GetPlatform(), WsfPlatform::GetTrackManager(), WsfScriptProcessor::Initialize2(), ok, and trackPtr.
|
delete |
References CreateScriptClass(), and WsfWeaponFuse().
|
protected |
References WsfPlatformPart::GetPlatform(), WsfPlatform::SetMover(), and WsfProcessor::TurnOff().
Referenced by PrivateDetonate().
|
protected |
References WsfObject::GetName(), and WsfPlatformPart::GetPlatform().
Referenced by PrivateDetonate().
|
protectedvirtual |
References WsfWeaponEngagement::Assign(), cACTION_DETONATE, cACTION_HALT, cAGL_LIMIT, cCOAST_TIME_LIMIT, cCOMMAND, WsfWeaponEngagement::cDUD, WsfWeaponEngagement::cFAR_AWAY_ABOVE_GROUND, WsfWeaponEngagement::cFAR_AWAY_GROUND_IMPACT, WsfWeaponEngagement::cFAR_AWAY_IN_AIR, cMIN_SPEED, cMSL_LIMIT, cNO_LIMIT, cPROXIMITY, WsfWeaponEngagement::cTARGET_IMPACT, WsfWeaponEngagement::cTARGET_PROXIMITY_ABOVE_GROUND, WsfWeaponEngagement::cTARGET_PROXIMITY_AIR_BURST, WsfWeaponEngagement::cTARGET_PROXIMITY_GROUND_IMPACT, cTOF_LIMIT, WsfPlatformPart::DebugEnabled(), WsfSimulation::DeletePlatform(), WsfWeaponEngagement::EnumToString(), WsfWeaponEngagement::Find(), WsfTrackManager::GetCurrentTarget(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfSimulation::GetPlatformByIndex(), WsfPlatformPart::GetSimulation(), WsfPlatform::GetTrackManager(), WsfWeaponEffects::GetWeaponEffectsType(), WsfScriptProcessor::mContextPtr, PermanentlyArrestMotion(), PrintDetonationReason(), WsfWeaponEngagement::SetCompletionTime(), WsfWeaponEngagement::SetExtendedResult(), WsfWeaponEngagement::SetMissDistance(), WsfWeaponEngagement::SetTargetLocationWCS(), WsfWeaponEngagement::SetWeaponLocationWCS(), WsfWeaponEngagement::Terminate(), WsfProcessor::TurnOff(), and WsfObserver::WeaponFired().
Referenced by CheckForDetonation().
|
protected |
Check to see if the AGL altitude criteria has been met.
References cAGL_LIMIT, cDETONATE_ABOVE, cDETONATE_BELOW, and deltaTime.
Referenced by CheckForDetonation().
|
protected |
Check to see if the MSL altitude criteria has been met.
References cDETONATE_ABOVE, cDETONATE_BELOW, cMSL_LIMIT, and deltaTime.
Referenced by CheckForDetonation().
|
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 WsfScriptProcessor.
References cACTION_DETONATE, cACTION_HALT, cCANCEL_PROXIMITY_CHECKS, cCOAST, cCONSIDER_ALL_PROXIMITY, cDETONATE, cDETONATE_ABOVE, cDETONATE_BELOW, cSC_MACH, cSC_MACH_DECAY, cSC_SPEED, WsfScriptProcessor::ProcessInput(), SetAGL_Criteria(), SetAirToGroundMode(), SetFineUpdateInterval(), SetGrossProximityRange(), SetGrossUpdateInterval(), SetHitProximityRange(), SetMSL_Criteria(), SetTargetName(), and SetUseCurrentTarget().
Referenced by WsfAirTargetFuse::ProcessInput(), and WsfGroundTargetFuse::ProcessInput().
|
protected |
Check to see if the minimum speed criteria has been met.
References cMIN_SPEED, cSC_MACH, cSC_MACH_DECAY, and cSC_SPEED.
Referenced by CheckForDetonation().
|
protected |
Check to see if any target proximity criteria are met.
References cCANCEL_PROXIMITY_CHECKS, cCOAST_TIME_LIMIT, cCONSIDER_ALL_PROXIMITY, cDETONATE, CheckAllTargets(), ComputeGrossProximityRange(), ComputeTimeToPCAorFuse(), WsfPlatformPart::DebugEnabled(), SelectPCA_ForDetonation(), ShowPCA_Results(), and UpdateTargetState().
Referenced by CheckForDetonation().
|
protected |
Select the PCA computations as the one that causes detonation.
This updates the fuse to indicate that a proximity detonation has occurred.
References cPROXIMITY, and WsfPlatform::GetIndex().
Referenced by CheckAllTargets(), and ProcessProximity().
| void WsfWeaponFuse::SetAGL_Criteria | ( | AltCriteria | aCriteria, |
| double | aAltAGL ) |
Referenced by ProcessInput(), and WsfAirTargetFuse::WsfAirTargetFuse().
| void WsfWeaponFuse::SetAirToGroundMode | ( | bool | aValue | ) |
References cDETONATE_BELOW.
Referenced by ProcessInput(), and WsfGroundTargetFuse::WsfGroundTargetFuse().
| void WsfWeaponFuse::SetFineUpdateInterval | ( | double | aInterval | ) |
Referenced by Initialize(), ProcessInput(), WsfWeaponFuse(), and WsfWeaponFuse().
|
inline |
Referenced by ProcessInput(), WsfAirTargetFuse::WsfAirTargetFuse(), and WsfGroundTargetFuse::WsfGroundTargetFuse().
|
inline |
Referenced by ProcessInput(), and WsfAirTargetFuse::WsfAirTargetFuse().
|
inline |
Referenced by ProcessInput().
| void WsfWeaponFuse::SetMSL_Criteria | ( | AltCriteria | aCriteria, |
| double | aAltMSL ) |
Referenced by BallisticLaunchComputerGenerator::PlatformAdded(), and ProcessInput().
| void WsfWeaponFuse::SetTargetName | ( | WsfStringId | aNameId | ) |
Referenced by ProcessInput().
|
inline |
| void WsfWeaponFuse::SetUseCurrentTarget | ( | bool | aValue | ) |
Referenced by ProcessInput(), WsfAirTargetFuse::WsfAirTargetFuse(), and WsfGroundTargetFuse::WsfGroundTargetFuse().
|
protected |
Display PCA computation results (for debug purposes);
References WsfObject::GetName(), and WsfPlatformPart::GetPlatform().
Referenced by CheckAllTargets(), and ProcessProximity().
|
overridevirtual |
Update the state of the processor. This method should perform any actions that are necessary so that the system reflects its condition at the supplied time.
| aSimTime | The current simulation time. |
Reimplemented from WsfScriptProcessor.
References CheckForDetonation(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::IsTurnedOn(), and WsfPlatform::Update().
|
protected |
This routine is responsible for selecting the target from either the 'current target track' or the 'named target'.
References WsfTrackManager::GetCurrentTarget(), WsfPlatformPart::GetPlatform(), WsfSimulation::GetPlatformByIndex(), WsfSimulation::GetPlatformByName(), WsfPlatformPart::GetSimulation(), WsfPlatform::GetTrackManager(), and trackPtr.
Referenced by ProcessProximity().
|
protected |
References WsfPlatformPart::GetPlatform().
Referenced by CheckForDetonation().