|
WSF
|
WsfEW_CommEffect models and applies comm effects (message bit error rate, message drops, etc.). More...
#include <WsfEW_CommEffect.hpp>


Public Member Functions | |
| WsfEW_CommEffect ()=default | |
| WsfEW_CommEffect (WsfEW_CommEffect &&)=default | |
| WsfEW_CommEffect & | operator= (const WsfEW_CommEffect &)=delete |
| WsfEW_CommEffect & | operator= (WsfEW_CommEffect &&)=default |
| ~WsfEW_CommEffect () override=default | |
| WsfEW_Effect * | Clone () const override |
| bool | Initialize (WsfSimulation &aSimulation) override |
| bool | ProcessInput (UtInput &aInput) override |
| void | ApplyUnmitigatedEffect (WsfEW_Effects &aEW_Effects) const override |
| void | ApplyMitigatedEffect (WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const override |
| Public Member Functions inherited from WsfEW_Effect | |
| WsfEW_Effect ()=default | |
| WsfEW_Effect & | operator= (const WsfEW_Effect &)=delete |
| ~WsfEW_Effect () override | |
| bool | ProcessInput (UtInput &aInput) override |
| virtual void | ProcessUnmitigatedEffect (double aSimTime, const WsfEM_Interaction &aTargetInteraction, const WsfEM_Interaction &aJammerToTgtInteraction, const ut::optional< WsfEM_Interaction > &aTgtToJammerInteraction, WsfEW_Effects &aEW_Effects) |
| virtual void | ProcessMitigatedEffect (double aSimTime, const WsfEM_Interaction &aTargetInteraction, const WsfEM_Interaction &aJammerToTgtInteraction, const ut::optional< WsfEM_Interaction > &aTgtToJammerInteraction, WsfEW_Effects &aEW_Effects, WsfEW_Effect *aEW_EffectPtr=nullptr) |
| virtual void | UpdateEffects (double aSimTime, const WsfEM_Interaction &aTargetInteraction, const WsfEM_Interaction &aJammerToTgtInteraction, const ut::optional< WsfEM_Interaction > &aTgtToJammerInteraction, WsfEW_Effects &aEW_Effects, WsfEW_Effect *aEW_EffectPtr=nullptr) |
| virtual void | RemoveJammerXmtr (unsigned int aXmtrId) |
| virtual void | RemoveJammerXmtr (WsfEM_Xmtr *aJammerXmtrPtr) |
| void | SetSystemFunctionMask (SystemFunction aSystemFunction) |
| Set the system type. | |
| void | SetSystemFunctionMask (const std::string &aSystemFunctionId) |
| void | AddSystemFunctionMask (SystemFunction aSystemFunction) |
| Set the system type. | |
| void | AddSystemFunctionMask (const std::string &aSystemFunctionId) |
| unsigned int | GetSystemFunctionMask () const |
| void | SetCoherencyMask (Coherency aCoherency) |
| void | AddCoherencyMask (Coherency aCoherency) |
| unsigned int | GetCoherencyMask () const |
| void | SetBehavior (Behavior aBehavior) |
| Behavior | GetBehavior () const |
| void | SetDebug (bool aDebug) |
| bool | DebugEnabled () const |
| void | SetEA_EP_Ptr (WsfEW_EA_EP *aPtr) |
| WsfEW_EA_EP * | GetEA_EP_Ptr () const |
| WsfEW_EA * | GetEA_Ptr () const |
| WsfEW_EP * | GetEP_Ptr () const |
| WsfEW_Technique * | GetTechniquePtr () const |
| void | SetTechniquePtr (WsfEW_Technique *aPtr) |
| virtual double | GetJammingPulseDensity () const |
| virtual double | GetJammingPulseDensity (WsfEM_Xmtr *aXmtrPtr) const |
| virtual bool | AllowTarget (WsfPlatform *aXmtrPlatform, WsfPlatform *aTargetPlatform) const |
| virtual void | UpdateCurrentIds (WsfEM_Rcvr *aRcvrPtr, WsfEM_Xmtr *aXmtrPtr, WsfPlatform *aTargetPtr) |
| WsfSimulation * | GetSimulation () const |
| ut::Random & | GetRandom () |
| 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) |
Protected Member Functions | |
| WsfEW_CommEffect (const WsfEW_CommEffect &aSrc)=default | |
| bool | ProcessEffectDataBlock (UtInputBlock &aInputBlock, WsfStringId aSystemTypeId) |
| virtual EffectData & | GetEffectData (WsfStringId aSystemTypeId) |
| void | ResetEffectData (WsfStringId aSystemTypeId) |
| bool | EffectDataExists (WsfStringId aSystemTypeId) const |
| virtual EffectData * | NewEffectData () |
| void | InsertNewEffectData (WsfStringId aSystemTypeId, WsfEW_Types::EW_EffectData *aEffectPtr) |
| virtual EffectData * | PropagateEffectDataPtr (WsfStringId aSystemTypeId) |
| WsfEW_Effect (const WsfEW_Effect &aSrc) | |
| virtual void | PrintUpdateMessage (ut::log::MessageStream &aStream, double aSimTime, WsfEW_Effect *aEW_EffectPtr=nullptr) |
| void | ResetProtectionTypeFlag (WsfEM_Xmtr *aXmtrPtr, const WsfEM_Interaction &aTargetInteraction, WsfEW_Effects &aEW_Effects) |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Additional Inherited Members | |
| Public Types inherited from WsfEW_Effect | |
| enum | Behavior { cEB_UNDEFINED = 1 , cEB_DROP_TRACK = cEB_UNDEFINED << 1 , cEB_MAINTAIN_TRACK = cEB_UNDEFINED << 2 , cEB_TRACK_ERROR = cEB_UNDEFINED << 3 , cEB_DROP_MESSAGE = cEB_UNDEFINED << 4 , cEB_MAINTAIN_MESSAGE = cEB_UNDEFINED << 5 , cEB_MESSAGE_ERROR = cEB_UNDEFINED << 6 , cEB_JAMMER_POWER_EFFECT = cEB_UNDEFINED << 7 , cEB_SIGNAL_POWER_EFFECT = cEB_UNDEFINED << 8 , cEB_SLC_DEGRADE_EFFECT = cEB_UNDEFINED << 9 , cEB_FALSE_TARGET_EFFECT = cEB_UNDEFINED << 10 , cEB_PULSE_EFFECT = cEB_UNDEFINED << 11 , cEB_AGILITY_EFFECT = cEB_UNDEFINED << 12 , cEB_REPEATER_EFFECT = cEB_UNDEFINED << 13 , cEB_REPEATER_UPDATE = cEB_UNDEFINED << 14 , cEB_FLOODED_BLOCKED = cEB_UNDEFINED << 15 , cEB_FLOODED_MAINTAINED = cEB_UNDEFINED << 16 , cEB_JAM_STROBE_EFFECT = cEB_UNDEFINED << 17 , cEB_TARGET_REJECT_EFFECT = cEB_UNDEFINED << 18 , cEB_NEXT_FREE_MASK = cEB_UNDEFINED << 19 } |
| The behavior the EW effect exhibits. More... | |
| enum | Coherency { cEC_NONE = 1 , cEC_NONCOHERENT = cEC_NONE << 1 , cEC_COHERENT = cEC_NONE << 2 , cEC_NONCOHERENT_PULSE = cEC_NONE << 3 , cEC_COHERENT_PULSE = cEC_NONE << 4 } |
| The signal coherency the EW effect exhibits on the affected system. More... | |
| enum | ModulationType { cEM_NONE = 1 , cEM_CW = cEM_NONE << 1 , cEM_COHPULSE = cEM_NONE << 2 , cEM_NONCOHPULSE = cEM_NONE << 3 , cEM_LINEARFM = cEM_NONE << 4 , cEM_NONLINEARFM = cEM_NONE << 5 , cEM_PHASEKEY = cEM_NONE << 6 , cEM_PHASEMOD = cEM_NONE << 7 , cEM_PHASECODE = cEM_NONE << 8 , cEM_ASK = cEM_NONE << 9 , cEM_FSK = cEM_NONE << 10 , cEM_PSK = cEM_NONE << 11 , cEM_BPSK = cEM_NONE << 12 , cEM_QPSK = cEM_NONE << 13 , cEM_DPSK = cEM_NONE << 14 , cEM_QAM = cEM_NONE << 15 } |
| enum | TargetProtectionType { cTP_ALL , cTP_NON_SELF_PROTECT , cTP_SELF_PROTECT } |
| The target protection type this effect is limited to. More... | |
| enum | SystemFunction { cES_UNDEFINED = 1 , cES_COMM = cES_UNDEFINED << 1 , cES_SENSOR = cES_UNDEFINED << 2 , cES_JAMMER = cES_UNDEFINED << 3 , cES_NEXT_FREE_MASK = cES_UNDEFINED << 4 } |
| The type of system function types the EW effect can affect. More... | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| static WsfEW_Effect::SystemFunction | ConvertToEW_SystemFunction (WsfEM_Rcvr::RcvrFunction aRcvrFunction) |
| static WsfEW_Effect::SystemFunction | ConvertToEW_SystemFunction (WsfEM_Xmtr::XmtrFunction aXmtrFunction) |
| static unsigned int | ConvertCoherencyIdToMask (WsfStringId aCoherencyId) |
| using | EffectDataMap = std::map<WsfStringId, EffectData*> |
| unsigned int | mSystemFunctionMask {cES_UNDEFINED} |
| The system type mask that this EW effect can affect. | |
| Behavior | mBehavior {cEB_UNDEFINED} |
| The behavior that this EW effect exhibits. | |
| unsigned int | mCoherencyMask {cEC_NONE} |
| The coherency of this effect wrt to the affected system. | |
| bool | mDebug {false} |
| The debug flag, 'true' for debug, false otherwise. | |
| WsfStringId | mCurrentTargetId {nullptr} |
| Current target Id. | |
| WsfStringId | mCurrentXmtrPlatformId {nullptr} |
| Current transmitting platform Id. | |
| WsfStringId | mCurrentRcvrPlatformId {nullptr} |
| Current receiving platform Id. | |
| int | mCurrentXmtrUniqueId {0} |
| Current transmitter unique Id. | |
| int | mCurrentRcvrUniqueId {0} |
| Current receiver unique Id. | |
| WsfStringId | mEffectedSystemId {nullptr} |
| The type Id of the system being effected, changes with each call to UpdateEffects(...) or UpdateCurrentIds(...). | |
| WsfStringId | mEffectingSystemId {nullptr} |
| The type Id of the system doing the effecting, changes with each call to UpdateEffects(...) or UpdateCurrentIds(...). | |
| bool | mUpdatingEffect {true} |
| Variable to prevent infinite recursion in UpdateEffect. | |
| EffectDataMap | mEffectDataMap |
| Map of the System Type Id to the data required for this effect. | |
WsfEW_CommEffect models and applies comm effects (message bit error rate, message drops, etc.).
|
default |
Referenced by Clone(), operator=(), operator=(), WsfEW_CommEffect(), and WsfEW_CommEffect().
|
default |
References WsfEW_CommEffect().
|
overridedefault |
References WsfEW_Effect::WsfEW_Effect().
|
protecteddefault |
References WsfEW_CommEffect().
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Clone this object.
Implements WsfEW_Effect.
References WsfEW_CommEffect(), and WsfEW_Effect::WsfEW_Effect().
|
overridevirtual |
Reimplemented from WsfEW_Effect.
References WsfEW_Effect::cES_COMM, WsfEW_Effect::GetEA_Ptr(), WsfEW_Effect::Initialize(), WsfEW_Effect::mSystemFunctionMask, and ok.
|
delete |
References WsfEW_CommEffect().
|
default |
References WsfEW_CommEffect().
|
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 WsfEW_Effect::cEB_DROP_MESSAGE, WsfEW_Effect::cEB_MAINTAIN_MESSAGE, WsfEW_Effect::cEB_MESSAGE_ERROR, WsfEW_Effect::mBehavior, and WsfEW_Effect::ProcessInput().