12#ifndef WSFEW_RADIUSEFFECT_HPP
13#define WSFEW_RADIUSEFFECT_HPP
15#include "wsf_mil_export.h"
63 const ut::optional<WsfEM_Interaction>& aTgtToJammerInteraction,
88 void Reset()
override;
100 int mRadiusLimitMask;
113 using RadiusDataMap =
114 std::map<WsfStringId, RadiusData*>;
116 RadiusDataMap mRadiusDataMap;
118 RadiusLimitType mCurrentJRL_Type;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfEM_Interaction.hpp:68
Definition WsfEW_EA.hpp:37
Definition WsfEW_EP.hpp:36
Base effect data used to derive from in inheriting effect classes.
Definition WsfEW_Effect.hpp:317
WsfEW_Effect * Clone() const override=0
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)
Definition WsfEW_Effect.cpp:374
virtual bool Initialize(WsfSimulation &aSimulation)
Definition WsfEW_Effect.cpp:69
virtual EffectData * PropagateEffectDataPtr(WsfStringId aSystemTypeId)
Definition WsfEW_Effect.cpp:619
virtual void ApplyUnmitigatedEffect(WsfEW_Effects &aEW_Effects) const =0
virtual void ApplyMitigatedEffect(WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const =0
bool ProcessInput(UtInput &aInput) override
Definition WsfEW_Effect.cpp:110
Definition WsfEW_Effects.hpp:41
Definition WsfEW_RadiusEffect.hpp:77
void SetRadiusFactor(unsigned int aJRL_Mask, double aRadiusFactor)
Definition WsfEW_RadiusEffect.cpp:360
void Reset() override
Definition WsfEW_RadiusEffect.cpp:343
int GetRadiusLimitMask() const
Definition WsfEW_RadiusEffect.hpp:94
RadiusData()
Definition WsfEW_RadiusEffect.cpp:261
double GetRadiusFactor(RadiusLimitType aJRL_Type) const
Definition WsfEW_RadiusEffect.cpp:353
RadiusData & operator=(const RadiusData &)=delete
RadiusData(const RadiusData &aSrc)=default
~RadiusData() override=default
double GetRadiusFactor(WsfStringId aSystemTypeId) const
Definition WsfEW_RadiusEffect.cpp:240
WsfEW_RadiusEffect()
Definition WsfEW_RadiusEffect.cpp:26
std::map< RadiusLimitType, double > RadiusTypeToValueMap
Definition WsfEW_RadiusEffect.hpp:47
EffectData * NewEffectData() override
Definition WsfEW_RadiusEffect.hpp:108
WsfEW_RadiusEffect & operator=(const WsfEW_RadiusEffect &)=delete
~WsfEW_RadiusEffect() override=default
RadiusLimitType
Definition WsfEW_RadiusEffect.hpp:39
@ cJRL_OUTSIDE
Limitation for target range OUTSIDE jammer range wrt receiver.
Definition WsfEW_RadiusEffect.hpp:42
@ cJRL_EQUAL
Limitation for target range EQUAL to jammer range wrt receiver.
Definition WsfEW_RadiusEffect.hpp:44
@ cJRL_BOTH
Limitation for target range INSIDE & OUTSIDE jammer range wrt to receiver.
Definition WsfEW_RadiusEffect.hpp:43
@ cJRL_INSIDE
Limitation for target range INSIDE jammer range wrt receiver.
Definition WsfEW_RadiusEffect.hpp:41
@ cJRL_NONE
No target jammer range limitations defined.
Definition WsfEW_RadiusEffect.hpp:40
int GetRadiusLimitMask(WsfStringId aSystemTypeId) const
Definition WsfEW_RadiusEffect.cpp:230
The main controller for a simulation.
Definition WsfSimulation.hpp:109