|
WSF
|
#include <WsfEW_Technique.hpp>


Public Types | |
| using | EffectPtrVec = std::vector<WsfEW_Effect*> |
| A vector type to hold list of effects. | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfEW_Technique () | |
| WsfEW_Technique & | operator= (const WsfEW_Technique &)=delete |
| ~WsfEW_Technique () override | |
| 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) |
Technique application methods | |
| bool | CanApplyTechnique (unsigned int aSystemFunctionMask) const |
| virtual std::vector< WsfEW_Types::TechniqueId > * | GetMitigatedTechniqueIds () |
| Returns a pointer to the mitigated techniques list for this technique. | |
| virtual std::vector< WsfEW_Types::TechniqueId > * | GetMitigatedTechniqueClassIds () |
| Returns a pointer to the mitigated techniques list for this technique. | |
| virtual WsfStringId | GetMitigationClassId () const |
| WsfEW_Technique (const WsfEW_Technique &aSrc) | |
| bool | FindEffectIndex (WsfStringId aEffectNameId, unsigned int &aIndex) const |
Common infrastructure methods. | |
| WsfEW_Technique * | Clone () const override |
| virtual bool | Initialize (WsfSimulation &aSimulation) |
| bool | ProcessInput (UtInput &aInput) override |
Transmitter management methods. | |
| virtual void | RemoveJammerXmtr (unsigned int aXmtrId) |
| virtual void | RemoveJammerXmtr (WsfEM_Xmtr *aXmtrPtr) |
Class pointer methods. | |
| void | SetEA_EP_Ptr (WsfEW_EA_EP *aEA_Ptr) |
| WsfEW_EA_EP * | GetEA_EP_Ptr () const |
| WsfEW_EA * | GetEA_Ptr () const |
| WsfEW_EP * | GetEP_Ptr () const |
Status methods | |
| void | SetDefaultOn (bool aDefaultOn) |
| bool | IsDefaultOn () const |
| Get the default 'on' state. | |
| virtual bool | IsExternallyControlled () const |
| void | SetDebug (bool aDebug) |
| bool | DebugEnabled () const |
Effect methods | |
| bool | AddEffect (WsfEW_Effect *aEffectPtr) |
| bool | EffectIsAvailable (WsfStringId aEffectNameId) const |
| unsigned int | GetEffectCount () |
| WsfEW_Effect * | GetEffect (unsigned int aIndex) const |
| WsfEW_Effect * | GetEffect (WsfStringId aEffectNameId) const |
| const EffectPtrVec & | GetEffects () const |
| WsfEW_Effect * | SelectUnmitigatedEffect (unsigned int aSystemFunctionMask) |
| WsfEW_Effect * | SelectUnmitigatedEffect (unsigned int aIndex, unsigned int aSystemFunctionMask) |
| bool | SetDeltaGainEffect (double aSimTime, WsfStringId aEffectId, bool aDebug, double aJammingPowerGain, WsfStringId aSystemTypeId, WsfStringId aSystemFunctionID) |
| bool | HasFrequencyAgilityEffect () const |
Additional Inherited Members | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A class which encapsulates data and functionality related to Techniques.
Each EA and EP technique may have multiple EW Effects they may cause or perceive during operation. The individual EW Effect objects will be set via ProcessInput() at simulation start time and fixed thereafter. But in response to changing EA and EP Techniques, a different EW Effect will be referenced for the resulting tracks obscuration.
| using WsfEW_Technique::EffectPtrVec = std::vector<WsfEW_Effect*> |
A vector type to hold list of effects.
| WsfEW_Technique::WsfEW_Technique | ( | ) |
|
override |
|
protected |
References WsfEW_Technique(), and WsfObject::WsfObject().
| bool WsfEW_Technique::AddEffect | ( | WsfEW_Effect * | aEffectPtr | ) |
References EffectIsAvailable(), and WsfObject::GetNameId().
Referenced by WsfEW_EffectTypes::LoadInstance().
| bool WsfEW_Technique::CanApplyTechnique | ( | unsigned int | aSystemFunctionMask | ) | const |
Indicates if the specified technique can be applied to the specified system type.
| aSystemFunctionMask | The system function mask. |
Referenced by WsfEW_EA_EP::CanApplyTechnique(), WsfEW_EP::GetMitigatingEffects(), and WsfEW_Effects::Process().
|
overridevirtual |
Clone this object.
Implements WsfObject.
References WsfEW_Technique().
|
inline |
Get the debug flag state
| bool WsfEW_Technique::EffectIsAvailable | ( | WsfStringId | aEffectNameId | ) | const |
References WsfObject::GetNameId().
Referenced by AddEffect(), WsfEW_EA_EP::EffectIsAvailable(), and WsfEW_EffectTypes::LoadInstance().
|
protected |
References WsfObject::GetNameId().
|
inline |
Get the Electronic Attack / Electronic Protect pointer, returns NULL if not set.
Referenced by SetDeltaGainEffect().
| WsfEW_EA * WsfEW_Technique::GetEA_Ptr | ( | ) | const |
Get the Electronic Attack pointer, returns NULL if not set or if N/A.
| WsfEW_Effect * WsfEW_Technique::GetEffect | ( | unsigned int | aIndex | ) | const |
| WsfEW_Effect * WsfEW_Technique::GetEffect | ( | WsfStringId | aEffectNameId | ) | const |
References WsfObject::GetNameId().
|
inline |
|
inline |
| WsfEW_EP * WsfEW_Technique::GetEP_Ptr | ( | ) | const |
Get the Electronic Protect pointer, returns NULL if not set or if N/A.
|
inlinevirtual |
Returns a pointer to the mitigated techniques list for this technique.
Reimplemented in WsfEW_EP::EP_Technique.
Referenced by WsfEW_EP::GetMitigatingEffects().
|
inlinevirtual |
Returns a pointer to the mitigated techniques list for this technique.
Reimplemented in WsfEW_EP::EP_Technique.
Referenced by WsfEW_EP::GetMitigatedTechniqueIds(), and WsfEW_EP::GetMitigatingEffects().
|
inlinevirtual |
Returns the user input mitigation flag ID for this EA technique that can be used to select EP techniques for mitigation.
Reimplemented in WsfEW_EA::EA_Technique.
Referenced by WsfEW_EP::GetMitigatingEffects().
| bool WsfEW_Technique::HasFrequencyAgilityEffect | ( | ) | const |
|
virtual |
Reimplemented in WsfEW_EA::EA_Technique, and WsfEW_EP::EP_Technique.
References success.
Referenced by WsfEW_EA::EA_Technique::Initialize(), WsfEW_EA_EP::Initialize(), WsfEW_EP::EP_Technique::Initialize(), and operator=().
|
inline |
Get the default 'on' state.
Referenced by WsfEW_EA_EP::Initialize(), and WsfEW_EA_EP::ResetTechniquesInUseList().
|
inlinevirtual |
Check to see if this technique is externally controlled.
Reimplemented in WsfEW_EP::EP_Technique.
Referenced by WsfEW_EP::GetMitigatingEffects(), WsfEW_EA_EP::ResetTechniquesInUseList(), WsfEW_EA_EP::SetTechnique(), and WsfEW_EA_EP::TechniqueIsExternallyControlled().
|
delete |
References Initialize(), RemoveJammerXmtr(), and WsfEW_Technique().
|
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(), and WsfEW_EffectTypes::Get().
Referenced by WsfEW_EA::EA_Technique::ProcessInput(), and WsfEW_EP::EP_Technique::ProcessInput().
|
virtual |
Remove the specified jammer from the associate effects.
| aXmtrId | The unique Id of the transmitter. |
Referenced by operator=(), WsfEW_EA_EP::RemoveJammerXmtr(), and WsfEW_EA_EP::RemoveJammerXmtr().
|
virtual |
Remove the specified jammer transmitter from the associate effects.
| aXmtrPtr | The pointer to the transmitter. |
| WsfEW_Effect * WsfEW_Technique::SelectUnmitigatedEffect | ( | unsigned int | aIndex, |
| unsigned int | aSystemFunctionMask ) |
Gets an effect based on the provided EW function.
| aIndex | The index of the effect of interest. |
| aSystemFunctionMask | Indicates what system function(s) that the effect will be applied to (i.e. Comms, Sensors, etc.). |
| WsfEW_Effect * WsfEW_Technique::SelectUnmitigatedEffect | ( | unsigned int | aSystemFunctionMask | ) |
Gets an effect based on the provided EW function.
| aSystemFunctionMask | Indicates what system function(s) that the effect will be applied to (i.e. Comms, Sensors, etc.). |
|
inline |
Set the debug flag state
| aDebug | The debug flag state, 'true' or 'false' |
Referenced by WsfEW_EA::SetDeltaGainTechnique().
|
inline |
Set the default 'on' state
| aDefaultOn | The default state of the technique, 'true' is on & 'false' is off. |
Referenced by WsfEW_EA::SetDeltaGainTechnique().
| bool WsfEW_Technique::SetDeltaGainEffect | ( | double | aSimTime, |
| WsfStringId | aEffectId, | ||
| bool | aDebug, | ||
| double | aJammingPowerGain, | ||
| WsfStringId | aSystemTypeId, | ||
| WsfStringId | aSystemFunctionId ) |
Set a jamming delta gain technique on an active spot using the supplied criteria.
| aSimTime | The current simulation time. |
| aEffectId | The assigned effect Id to set. |
| aDebug | The debug state to set for the technique. |
| aJammingPowerGain | The assigned jamming gain value. |
| aSystemTypeId | The assigned System Type Id of the target types this technique applies to. |
| aSystemFunctionId | The assigned System Function Id of the target types this technique applies to. |
References WsfEW_Effect::cEB_JAMMER_POWER_EFFECT, GetEA_EP_Ptr(), GetEffect(), WsfObject::GetName(), WsfEW_PowerEffect::Initialize(), WsfEW_Effect::SetBehavior(), WsfEW_Effect::SetDebug(), WsfEW_Effect::SetEA_EP_Ptr(), WsfEW_PowerEffect::SetJammingPowerGain(), WsfObject::SetName(), WsfEW_Effect::SetSystemFunctionMask(), and WsfEW_Effect::SetTechniquePtr().
Referenced by WsfEW_EA::SetDeltaGainTechnique().
|
inline |
Set the Electronic Attack pointer, set to NULL by default.
| aEA_Ptr | The associated EA pointer for the technique. |
Referenced by WsfEW_EA::Initialize(), WsfEW_EP::Initialize(), and WsfEW_EA::SetDeltaGainTechnique().