|
WSF
|
#include <WsfEW_EA_EP.hpp>


Public Member Functions | |
| WsfEW_EA_EP () | |
| WsfEW_EA_EP & | operator= (const WsfEW_EA_EP &)=delete |
| ~WsfEW_EA_EP () override=default | |
| 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) |
Effect methods. | |
| WsfSimulation * | mSimulationPtr |
| WsfEW_Types::TechniqueIdVec | mTechniques |
| A collection/list of all the Techniques by Id. | |
| WsfEW_Types::TechniqueIdVec | mTechniquesInUse |
| A collection of all the Techniques currently in use by Id. | |
| bool | mDebug |
| Debug flag 'true' if debug is enabled, 'false' otherwise. | |
| WsfEM_XmtrRcvr * | mLinkedXmtrRcvrPtr |
| The transmitter/receiver to which this EA/EP is linked to. | |
| bool | HasFrequencyAgilityEffect () const |
| bool | EffectIsAvailable (WsfStringId aEffectNameId) const |
| bool | EffectIsAvailable (WsfEW_Types::TechniqueId aTechId, WsfStringId aEffectNameId) const |
| virtual WsfEW_Effect * | GetEffect (WsfEW_Types::TechniqueId aTechId, unsigned int aIndex) const |
| virtual WsfEW_Effect * | GetEffect (WsfEW_Types::TechniqueId aTechId, WsfStringId aEffectId) const |
| virtual const WsfEW_Technique::EffectPtrVec & | GetEffects (WsfEW_Types::TechniqueId aId) const |
| WsfSimulation * | GetSimulation () const |
| WsfEW_EA_EP (const WsfEW_EA_EP &aSrc) | |
| bool | PrivateSetTechnique (WsfEW_Types::TechniqueId aTechnique, bool aOnOff) |
Common infrastructure methods. | |
| WsfEW_EA_EP * | Clone () const override=0 |
| virtual bool | Initialize (WsfSimulation &aSimulation, WsfEM_XmtrRcvr *aXmtrRcvrPtr) |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | DebugEnabled () const |
| Determines if debugging is enabled. | |
Linkage methods. | |
| virtual WsfEM_XmtrRcvr & | GetLinkedXmtrRcvr () const |
Jammer management methods. | |
| virtual void | RemoveJammerXmtr (unsigned int aXmtrId) |
| virtual void | RemoveJammerXmtr (WsfEM_Xmtr *aXmtrPtr) |
EA methods. | |
| virtual bool | SetDeltaGainTechnique (double aSimTime, WsfStringId aTechniqueId, bool aOnOff, bool aDebug, WsfStringId aEffectId, double aJammingDeltaGain, WsfStringId aSystemTypeId, WsfStringId aSystemFunctionId) |
EP methods. | |
| virtual WsfEW_Technique::EffectPtrVec | GetMitigatingEffects (const WsfEW_Effect *aEA_EffectPtr, WsfEW_Effect::SystemFunction aAffectingSystemFunction, WsfEW_Effect::SystemFunction aAffectedSystemFunction) |
Technique methods. | |
| virtual bool | AddTechnique (WsfEW_Technique *aTechniquePtr) |
| bool | TechniquesAreAvailable () const |
| Return true if there are techniques available, 0 otherwise. | |
| bool | TechniquesAreInUse () const |
| Return true if there are techniques in use, 0 otherwise. | |
| bool | TechniqueIsAvailable (WsfEW_Types::TechniqueId aId) const |
| bool | TechniqueIsInUse (WsfEW_Types::TechniqueId aId) const |
| bool | TechniqueIsExternallyControlled (WsfEW_Types::TechniqueId aId) const |
| const WsfEW_Types::TechniqueIdVec & | GetTechniquesAvailable () const |
| Return a list of all the technique Ids that are currently available. | |
| const WsfEW_Types::TechniqueIdVec & | GetTechniquesInUse () const |
| Return a list of all the technique Ids that are currently in use. | |
| void | SetTechnique (WsfEW_Types::TechniqueId aTechniqueId, bool aOnOff) |
| virtual WsfEW_Technique * | GetTechnique (WsfEW_Types::TechniqueId aTechniqueId) const |
| virtual WsfEW_Technique * | GetTechnique (unsigned int aIndex) const |
| void | ResetTechniquesInUseList () |
| virtual bool | SelectTechnique (unsigned int aIndex) |
| virtual bool | SelectTechnique (WsfEW_Types::TechniqueId aId) |
| virtual bool | DeselectTechnique (unsigned int aIndex) |
| virtual bool | DeselectTechnique (WsfEW_Types::TechniqueId aId) |
| virtual bool | CanApplyTechnique (WsfEW_Types::TechniqueId aId, WsfEW_Effect::SystemFunction aSystemFunction) const |
| virtual WsfEW_Types::TechniqueIdVec * | GetMitigatedTechniques () |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A class which encapsulates data and functionality related to an Electronic Attack and an Electronic Protect techniques.
This is an inheritable class which is inherited by WsfEW_EA and WsfEW_EP and and provides the data and functionality related to both of these instances.
Please note that the list/map of technique pointers is kept by the inheriting class as the technique type may be a special case and not necessarily the base WsfEW_Technique class.
| WsfEW_EA_EP::WsfEW_EA_EP | ( | ) |
References mDebug, mLinkedXmtrRcvrPtr, mSimulationPtr, mTechniques, mTechniquesInUse, and WsfObject::WsfObject().
Referenced by WsfEW_EA::Clone(), Clone(), WsfEW_EP::Clone(), WsfEW_EA::GetElectronicAttack(), WsfEW_EP::GetElectronicProtect(), WsfEW_EA::operator=(), operator=(), WsfEW_EP::operator=(), WsfEW_EA::SetElectronicAttack(), WsfEW_EP::SetElectronicProtect(), WsfEW_EA::WsfEW_EA(), WsfEW_EA::WsfEW_EA(), WsfEW_EA_EP(), WsfEW_EP::WsfEW_EP(), and WsfEW_EP::WsfEW_EP().
|
overridedefault |
|
protected |
References mDebug, mLinkedXmtrRcvrPtr, mSimulationPtr, mTechniques, mTechniquesInUse, WsfEW_EA_EP(), and WsfObject::WsfObject().
|
virtual |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References WsfObject::GetNameId(), mTechniques, and TechniqueIsAvailable().
Referenced by WsfEW_EA::AddTechnique(), WsfEW_EP::AddTechnique(), and WsfEW_TechniqueTypes::LoadInstance().
|
virtual |
Indicates if the specified technique can be applied to the specified system type.
| aId | The technique id. |
| aSystemFunction | The system function. |
References WsfEW_Technique::CanApplyTechnique(), and GetTechnique().
Referenced by WsfEW_EP::GetMitigatingEffects().
|
overridepure virtual |
Clone this object.
Implements WsfObject.
Implemented in WsfEW_EA, and WsfEW_EP.
References Initialize(), and WsfEW_EA_EP().
Referenced by WsfRF_Jammer::StartJamming().
|
inlinevirtual |
Determines if debugging is enabled.
References mDebug.
Referenced by WsfRF_Jammer::SetEA_DeltaGainTechnique(), and WsfRF_Jammer::SetEA_DeltaGainTechnique().
|
virtual |
Deselect a technique for use based on technique index
| aIndex | Specifies the index of the technique in the list (0 - size mTechniques-1). |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References mDebug, mTechniques, and PrivateSetTechnique().
Referenced by WsfRF_Jammer::DeselectEA_Technique(), and WsfEW_SensorComponent::DeselectEP_Technique().
|
virtual |
Deselect a technique for use based on technique Id
| aId | Specifies the Id of the technique in the list. |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References mDebug, mTechniques, and PrivateSetTechnique().
| bool WsfEW_EA_EP::EffectIsAvailable | ( | WsfEW_Types::TechniqueId | aTechId, |
| WsfStringId | aEffectNameId ) const |
References WsfEW_Technique::EffectIsAvailable(), and GetTechnique().
| bool WsfEW_EA_EP::EffectIsAvailable | ( | WsfStringId | aEffectNameId | ) | const |
References EffectIsAvailable(), and mTechniques.
Referenced by EffectIsAvailable().
|
virtual |
References WsfEW_Technique::GetEffect(), and GetTechnique().
|
virtual |
References WsfEW_Technique::GetEffect(), and GetTechnique().
|
virtual |
References WsfEW_Technique::GetEffects(), and GetTechnique().
|
inlinevirtual |
References mLinkedXmtrRcvrPtr.
Referenced by WsfEW_TrackEffect::SensorModeDeactivated(), and WsfEW_TrackEffect::SensorTrackDropped().
|
inlinevirtual |
|
virtual |
This non-const method selects appropriate EP Technique(s) (if available), that will mitigate the applied Electronic Attack Techniques, and then returns the resulting effect.
| aEA_EffectPtr | Pointer to the applied electronic attack effect to mitigate |
| aAffectingSystemFunction | Indicates the system function the attack was applied to. |
| aAffectedSystemFunction | Indicates the system function the attack was applied to. |
Reimplemented in WsfEW_EP.
Referenced by WsfEW_Effects::Process(), and WsfEW_SimpleFT_Effect::UpdateEffects().
| WsfSimulation * WsfEW_EA_EP::GetSimulation | ( | ) | const |
References mSimulationPtr.
Referenced by WsfEW_EP::GetMitigatingEffects(), and WsfEW_EA::SetDeltaGainTechnique().
|
virtual |
|
virtual |
Reimplemented in WsfEW_EA, and WsfEW_EP.
Referenced by CanApplyTechnique(), EffectIsAvailable(), GetEffect(), GetEffect(), GetEffects(), HasFrequencyAgilityEffect(), Initialize(), WsfEW_TechniqueTypes::LoadInstance(), WsfEW_Effects::Process(), RemoveJammerXmtr(), RemoveJammerXmtr(), ResetTechniquesInUseList(), SetTechnique(), TechniqueIsExternallyControlled(), and WsfEW_SensorComponent::EW_Mode::UpdateFalseTargetInteractors().
|
inline |
Return a list of all the technique Ids that are currently available.
References mTechniques.
|
inline |
Return a list of all the technique Ids that are currently in use.
References mTechniquesInUse.
Referenced by WsfEW_Effects::Process(), WsfMilDisInterface::UpdateBeamFromXmtr(), and WsfEW_SensorComponent::EW_Mode::UpdateFalseTargetInteractors().
| bool WsfEW_EA_EP::HasFrequencyAgilityEffect | ( | ) | const |
References GetTechnique(), HasFrequencyAgilityEffect(), and mTechniques.
Referenced by HasFrequencyAgilityEffect(), and WsfOTH_RadarSensor::OTH_Mode::Initialize().
|
virtual |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References GetTechnique(), WsfEW_Technique::Initialize(), WsfEW_Technique::IsDefaultOn(), mLinkedXmtrRcvrPtr, mSimulationPtr, mTechniques, PrivateSetTechnique(), and success.
Referenced by Clone(), WsfEW_EA::Initialize(), and WsfEW_EP::Initialize().
|
delete |
References WsfEW_EA_EP().
|
protected |
References mTechniquesInUse, and TechniqueIsInUse().
Referenced by WsfEW_EA::DeselectTechnique(), WsfEW_EA::DeselectTechnique(), DeselectTechnique(), DeselectTechnique(), WsfEW_EP::DeselectTechnique(), WsfEW_EP::DeselectTechnique(), WsfEW_EP::GetMitigatingEffects(), Initialize(), ResetTechniquesInUseList(), WsfEW_EA::SelectTechnique(), WsfEW_EA::SelectTechnique(), SelectTechnique(), SelectTechnique(), WsfEW_EP::SelectTechnique(), WsfEW_EP::SelectTechnique(), and SetTechnique().
|
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 WsfObject.
References WsfScenario::FromInput(), WsfEW_TechniqueTypes::Get(), and mDebug.
|
virtual |
Remove the specified jammer transmitter from the associate techniques.
| aXmtrId | The unique Id of the transmitter. |
References GetTechnique(), mTechniques, and WsfEW_Technique::RemoveJammerXmtr().
|
virtual |
Remove the specified jammer transmitter from the associate techniques.
| aXmtrPtr | The pointer to the transmitter. |
References GetTechnique(), mTechniques, and WsfEW_Technique::RemoveJammerXmtr().
| void WsfEW_EA_EP::ResetTechniquesInUseList | ( | ) |
Reset the techniques in use list to the techniques that are on by default or are externally controlled and currently in use, any changes made to the techniques or associated effects will be kept.
References GetTechnique(), WsfEW_Technique::IsDefaultOn(), WsfEW_Technique::IsExternallyControlled(), mTechniques, PrivateSetTechnique(), and TechniqueIsInUse().
Referenced by WsfEW_EP::GetMitigatingEffects().
|
virtual |
Selects a technique for use based on technique index
| aIndex | Specifies the index of the technique in the list (0 - size mTechniques-1). |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References mDebug, mTechniques, and PrivateSetTechnique().
Referenced by WsfRF_Jammer::SelectEA_Technique(), WsfEW_SensorComponent::SelectEP_Technique(), WsfRF_Jammer::StartJamming(), and WsfRF_Jammer::UpdateJamming().
|
virtual |
Selects a technique for use based on technique Id
| aId | Specifies the Id of the technique in the list. |
Reimplemented in WsfEW_EA, and WsfEW_EP.
References mDebug, mTechniques, and PrivateSetTechnique().
|
inlinevirtual |
Reimplemented in WsfEW_EA.
Referenced by WsfRF_Jammer::SetEA_DeltaGainTechnique(), and WsfRF_Jammer::SetEA_DeltaGainTechnique().
| void WsfEW_EA_EP::SetTechnique | ( | WsfEW_Types::TechniqueId | aTechniqueId, |
| bool | aOnOff ) |
Set the technique state to 'on' or 'off', must be set to 'externally_controlled'.
| aTechniqueId | The technique Id for which to change the state. |
| aOnOff | The state of the supplied technique to change to, 'true' is on and 'false' is off. |
References GetTechnique(), WsfEW_Technique::IsExternallyControlled(), and PrivateSetTechnique().
| bool WsfEW_EA_EP::TechniqueIsAvailable | ( | WsfEW_Types::TechniqueId | aId | ) | const |
Check to see if a technique is available for use by technique Id
| aId | The technique Id of the technique of interest. |
References mTechniques.
Referenced by AddTechnique(), WsfEW_TechniqueTypes::LoadInstance(), and UT_DEFINE_SCRIPT_METHOD().
| bool WsfEW_EA_EP::TechniqueIsExternallyControlled | ( | WsfEW_Types::TechniqueId | aId | ) | const |
References GetTechnique(), and WsfEW_Technique::IsExternallyControlled().
| bool WsfEW_EA_EP::TechniqueIsInUse | ( | WsfEW_Types::TechniqueId | aId | ) | const |
Check to see if a technique is in use by technique Id
| aId | The technique Id of the technique of interest. |
References mTechniquesInUse.
Referenced by WsfEW_EP::GetMitigatingEffects(), WsfEW_SensorComponent::IsEP_TechniqueActive(), PrivateSetTechnique(), ResetTechniquesInUseList(), and WsfRF_Jammer::UpdateJamming().
|
inline |
Return true if there are techniques available, 0 otherwise.
References mTechniques.
|
inline |
Return true if there are techniques in use, 0 otherwise.
References mTechniquesInUse.
Referenced by WsfMilDisInterface::UpdateBeamFromXmtr().
|
protected |
Debug flag 'true' if debug is enabled, 'false' otherwise.
Referenced by DebugEnabled(), WsfEW_EA::DeselectTechnique(), WsfEW_EA::DeselectTechnique(), DeselectTechnique(), DeselectTechnique(), WsfEW_EP::DeselectTechnique(), WsfEW_EP::DeselectTechnique(), WsfEW_EP::GetMitigatingEffects(), ProcessInput(), WsfEW_EA::SelectTechnique(), WsfEW_EA::SelectTechnique(), SelectTechnique(), SelectTechnique(), WsfEW_EP::SelectTechnique(), WsfEW_EP::SelectTechnique(), WsfEW_EA::SetDeltaGainTechnique(), WsfEW_EA_EP(), and WsfEW_EA_EP().
|
protected |
The transmitter/receiver to which this EA/EP is linked to.
Referenced by GetLinkedXmtrRcvr(), Initialize(), WsfEW_EA_EP(), and WsfEW_EA_EP().
|
protected |
Referenced by GetSimulation(), Initialize(), WsfEW_EA_EP(), and WsfEW_EA_EP().
|
protected |
A collection/list of all the Techniques by Id.
Referenced by AddTechnique(), WsfEW_EA::DeselectTechnique(), DeselectTechnique(), DeselectTechnique(), WsfEW_EP::DeselectTechnique(), EffectIsAvailable(), WsfEW_EP::GetMitigatingEffects(), WsfEW_EA::GetTechnique(), WsfEW_EP::GetTechnique(), GetTechniquesAvailable(), HasFrequencyAgilityEffect(), WsfEW_EA::Initialize(), Initialize(), WsfEW_EP::Initialize(), RemoveJammerXmtr(), RemoveJammerXmtr(), ResetTechniquesInUseList(), WsfEW_EA::SelectTechnique(), SelectTechnique(), SelectTechnique(), WsfEW_EP::SelectTechnique(), WsfEW_EA::SetDeltaGainTechnique(), TechniqueIsAvailable(), TechniquesAreAvailable(), WsfEW_EA_EP(), WsfEW_EA_EP(), WsfEW_EA::~WsfEW_EA(), and WsfEW_EP::~WsfEW_EP().
|
protected |
A collection of all the Techniques currently in use by Id.
Referenced by GetTechniquesInUse(), PrivateSetTechnique(), TechniqueIsInUse(), TechniquesAreInUse(), WsfEW_EA_EP(), and WsfEW_EA_EP().