|
WSF
|
#include <WsfEW_EP.hpp>


Classes | |
| class | EP_Technique |
| Special class to handle the EP specific technique implementations as required. More... | |
Public Member Functions | |
| WsfEW_EP () | |
| WsfEW_EP & | operator= (const WsfEW_EP &)=delete |
| ~WsfEW_EP () override | |
| Public Member Functions inherited from WsfEW_EA_EP | |
| WsfEW_EA_EP () | |
| WsfEW_EA_EP & | operator= (const WsfEW_EA_EP &)=delete |
| ~WsfEW_EA_EP () override=default | |
| 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 |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | DebugEnabled () const |
| Determines if debugging is enabled. | |
| virtual WsfEM_XmtrRcvr & | GetLinkedXmtrRcvr () const |
| virtual void | RemoveJammerXmtr (unsigned int aXmtrId) |
| virtual void | RemoveJammerXmtr (WsfEM_Xmtr *aXmtrPtr) |
| virtual bool | SetDeltaGainTechnique (double aSimTime, WsfStringId aTechniqueId, bool aOnOff, bool aDebug, WsfStringId aEffectId, double aJammingDeltaGain, WsfStringId aSystemTypeId, WsfStringId aSystemFunctionId) |
| 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) |
| void | ResetTechniquesInUseList () |
| virtual bool | CanApplyTechnique (WsfEW_Types::TechniqueId aId, WsfEW_Effect::SystemFunction aSystemFunction) const |
| virtual WsfEW_Types::TechniqueIdVec * | GetMitigatedTechniques () |
| 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) |
Static Public Member Functions | |
| static WsfEW_EA_EP * | GetElectronicProtect (const WsfEM_Rcvr &aRcvr) |
| Convenience method to get the electronic protect object for the specified receiver. | |
| static void | SetElectronicProtect (WsfEM_Rcvr &aRcvr, WsfEW_EA_EP *aElectronicProtectPtr) |
| Convenience method to set the electronic protect object for the specified receiver. | |
Effect methods. | |
| WsfEW_Technique::EffectPtrVec | GetMitigatingEffects (const WsfEW_Effect *aEA_EffectPtr, WsfEW_Effect::SystemFunction aAffectingSystemFunction, WsfEW_Effect::SystemFunction aAffectedSystemFunction) override |
| WsfEW_EP (const WsfEW_EP &aSrc) | |
Common infrastructure methods. | |
| WsfEW_EA_EP * | Clone () const override |
| bool | Initialize (WsfSimulation &aSimulation, WsfEM_XmtrRcvr *aXmtrRcvrPtr) override |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfEW_EA_EP (const WsfEW_EA_EP &aSrc) | |
| bool | PrivateSetTechnique (WsfEW_Types::TechniqueId aTechnique, bool aOnOff) |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
| 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. | |
A class which models an Electronic Protection procedure in response to an Electronic Attack.
An instance of this class is aggregated into a receiver that may be subject to Electronic Attack (EA) (see WsfEW_EA). The response may be to use mitigating techniques to thwart the attack, including the employment of one or more pre-planned counter-techniques in response to the adversary.
| typedef std::map<WsfEW_Types::TechniqueId, EP_Technique*> WsfEW_EP::TechniqueIdToPtrMap |
Map the technique's ID to its location (pointer).
| typedef std::map<WsfEW_Types::TechniqueId,EP_Technique*>::const_iterator WsfEW_EP::TechniqueIdToPtrMapConstIter |
| typedef std::map<WsfEW_Types::TechniqueId,EP_Technique*>::iterator WsfEW_EP::TechniqueIdToPtrMapIter |
| WsfEW_EP::WsfEW_EP | ( | ) |
References WsfEW_EA_EP::WsfEW_EA_EP().
Referenced by Clone(), operator=(), and WsfEW_EP().
|
override |
References WsfEW_EA_EP::mTechniques.
|
protected |
References WsfEW_EA_EP::WsfEW_EA_EP(), and WsfEW_EP().
|
overridevirtual |
Reimplemented from WsfEW_EA_EP.
References WsfEW_EA_EP::AddTechnique(), and WsfObject::GetNameId().
|
overridevirtual |
Clone this object.
Implements WsfEW_EA_EP.
References WsfEW_EA_EP::WsfEW_EA_EP(), and WsfEW_EP().
|
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 from WsfEW_EA_EP.
|
virtual |
Deselect a technique for use based on technique index for the specified System Type
| aIndex | Specifies the index of the technique in the list (0 - size mTechniques-1). |
| aSystemFunction | Indicates what system function that the effect will be applied to (i.e. Comms, Sensors, etc.). |
References WsfEW_EA_EP::mDebug, WsfEW_EA_EP::mTechniques, and WsfEW_EA_EP::PrivateSetTechnique().
|
virtual |
Deselect a technique for use based on technique Id
| aId | Specifies the Id of the technique in the list. |
Reimplemented from WsfEW_EA_EP.
|
virtual |
Deselect a technique for use based on technique Id for the specified System Type
| aId | Specifies the Id of the technique in the list. |
| aSystemFunction | Indicates what system function that the effect will be applied to (i.e. Comms, Sensors, etc.). |
References WsfEW_EA_EP::mDebug, and WsfEW_EA_EP::PrivateSetTechnique().
|
static |
Convenience method to get the electronic protect object for the specified receiver.
References WsfEW_RcvrComponent::Find(), WsfEW_RcvrComponent::GetElectronicProtect(), and WsfEW_EA_EP::WsfEW_EA_EP().
Referenced by WsfEW_SensorComponent::DeselectEP_Technique(), WsfXIO_WeaponComponent::EM_RcvrInfo_Load(), WsfOTH_RadarSensor::OTH_Mode::Initialize(), WsfEW_SensorComponent::IsEP_TechniqueActive(), WsfEW_Effects::Process(), WsfEW_SensorComponent::SelectEP_Technique(), and WsfEW_SimpleFT_Effect::UpdateEffects().
| WsfEW_Types::TechniqueIdVec * WsfEW_EP::GetMitigatedTechniqueIds | ( | WsfEW_Types::TechniqueId | aId | ) | const |
References WsfEW_Technique::GetMitigatedTechniqueIds(), and GetTechnique().
|
overridevirtual |
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 from WsfEW_EA_EP.
References WsfEW_EA_EP::CanApplyTechnique(), WsfEW_Technique::CanApplyTechnique(), WsfEW_Technique::GetEffects(), WsfEW_Technique::GetMitigatedTechniqueClassIds(), WsfEW_Technique::GetMitigatedTechniqueIds(), WsfEW_Technique::GetMitigationClassId(), WsfObject::GetName(), WsfObject::GetNameId(), WsfSimulation::GetSimTime(), WsfEW_EA_EP::GetSimulation(), GetTechnique(), WsfEW_Effect::GetTechniquePtr(), WsfEW_Technique::IsExternallyControlled(), WsfEW_EA_EP::mDebug, WsfEW_EA_EP::mTechniques, WsfEW_EA_EP::PrivateSetTechnique(), WsfEW_EA_EP::ResetTechniquesInUseList(), sort(), WsfEW_EA_EP::TechniqueIsInUse(), and unique().
|
overridevirtual |
Get technique for use based on technique index
| aIndex | Specifies the index of the technique in the list (0 - size mTechniques-1). |
Reimplemented from WsfEW_EA_EP.
References WsfEW_EA_EP::mTechniques.
|
overridevirtual |
Get technique for use based on technique Id
| aTechniqueId | The Id of the technique. |
Reimplemented from WsfEW_EA_EP.
Referenced by GetMitigatedTechniqueIds(), GetMitigatingEffects(), and Initialize().
|
overridevirtual |
Reimplemented from WsfEW_EA_EP.
References GetTechnique(), WsfEW_EA_EP::Initialize(), WsfEW_EA_EP::mTechniques, WsfEW_Technique::SetEA_EP_Ptr(), and success.
References WsfEW_EA_EP::WsfEW_EA_EP(), and WsfEW_EP().
|
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 from WsfEW_EA_EP.
|
virtual |
Selects a technique for use based on technique index for the specified System Type
| aIndex | Specifies the index of the technique in the list (0 - size mTechniques-1). |
| aSystemFunction | Indicates what system function that the effect will be applied to (i.e. Comms, Sensors, etc.). |
References WsfEW_EA_EP::mDebug, WsfEW_EA_EP::mTechniques, and WsfEW_EA_EP::PrivateSetTechnique().
|
virtual |
Selects a technique for use based on technique Id
| aId | Specifies the Id of the technique in the list. |
Reimplemented from WsfEW_EA_EP.
|
virtual |
Selects a technique for use based on technique Id for the specified System Type
| aId | Specifies the Id of the technique in the list. |
| aSystemFunction | Indicates what system function that the effect will be applied to (i.e. Comms, Sensors, etc.). |
References WsfEW_EA_EP::mDebug, and WsfEW_EA_EP::PrivateSetTechnique().
|
static |
Convenience method to set the electronic protect object for the specified receiver.
References WsfEW_RcvrComponent::FindOrCreate(), WsfEW_RcvrComponent::SetElectronicProtect(), and WsfEW_EA_EP::WsfEW_EA_EP().