12#ifndef WSFHELLETHALITY_HPP
13#define WSFHELLETHALITY_HPP
15#include "wsf_mil_export.h"
19#include "UtGenericMappedList.hpp"
20#include "UtMatrix.hpp"
102 mPK_TablePtr = new UtMatrixd(*aSrc.mPK_TablePtr);
155 bool ProcessType(UtInput& aInput);
186 void ApplyEffectIncrementP(
double aSimTime,
WsfPlatform* aOtherPlatformPtr,
double aDamageAmount);
188 bool IsVulnerableP(
WsfPlatform* aOtherPlatformPtr);
190 static void ReadPK_EnergyTable(UtInput& aInput, UtMatrixd* aTable);
192 using EntryMap = UtStdMappedList<Entry, WsfStringId>;
198 bool mUnharmedUntilKilled;
199 const Entry* mEntryPtr;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Effect(Kind aKind, double aThreshold, double aRadius=0.0, Type aType=cLETHAL_PLATFORM)
Definition WsfHEL_Lethality.hpp:84
Kind
Definition WsfHEL_Lethality.hpp:74
@ cENERGY_DENSITY
Definition WsfHEL_Lethality.hpp:78
@ cENERGY
Definition WsfHEL_Lethality.hpp:76
@ cPK_ENERGY
Definition WsfHEL_Lethality.hpp:77
@ cUNDEFINED
Definition WsfHEL_Lethality.hpp:75
@ cPOWER
Definition WsfHEL_Lethality.hpp:79
Type mType
Definition WsfHEL_Lethality.hpp:131
double mRadius
Definition WsfHEL_Lethality.hpp:130
~Effect()
Definition WsfHEL_Lethality.hpp:123
Type
Definition WsfHEL_Lethality.hpp:67
@ cCUSTOM
Definition WsfHEL_Lethality.hpp:70
@ cLETHAL_PLATFORM
Definition WsfHEL_Lethality.hpp:68
@ cLETHAL_PLATFORM_PART
Definition WsfHEL_Lethality.hpp:69
Effect(const Effect &aSrc)
Definition WsfHEL_Lethality.hpp:93
double mThreshold
Definition WsfHEL_Lethality.hpp:128
Effect & operator=(const Effect &aSrc)
Definition WsfHEL_Lethality.hpp:106
Kind mKind
Definition WsfHEL_Lethality.hpp:127
UtMatrixd * mPK_TablePtr
Definition WsfHEL_Lethality.hpp:129
Definition WsfHEL_Lethality.hpp:135
bool operator<(const Entry &aRhs)
Definition WsfHEL_Lethality.hpp:182
Type mType
Definition WsfHEL_Lethality.hpp:174
WsfStringId mCategory
Definition WsfHEL_Lethality.hpp:175
std::vector< Effect > mEffects
Definition WsfHEL_Lethality.hpp:180
WsfStringId mRegion
Definition WsfHEL_Lethality.hpp:177
WsfStringId GetId() const
Definition WsfHEL_Lethality.hpp:157
WsfStringId mPlatformType
Definition WsfHEL_Lethality.hpp:176
Entry()
Definition WsfHEL_Lethality.hpp:144
Type
Definition WsfHEL_Lethality.hpp:138
@ cCATEGORY
Definition WsfHEL_Lethality.hpp:139
@ cPLATFORM_REGION
Definition WsfHEL_Lethality.hpp:141
@ cPLATFORM_TYPE
Definition WsfHEL_Lethality.hpp:140
~WsfHEL_Lethality() override=default
bool ProcessInput(UtInput &aInput) override
Definition WsfHEL_Lethality.cpp:187
WsfHEL_Lethality & operator=(const WsfHEL_Lethality &aRhs)=delete
Disable use.
const Entry * FindMappedEntry(WsfPlatform *aTargetPtr)
Definition WsfHEL_Lethality.cpp:322
WsfHEL_Lethality(WsfScenario &aScenario)
Definition WsfHEL_Lethality.cpp:29
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
virtual void CalcInterceptPk(double aSimTime, WsfPlatform *aTargetPtr)
Definition WsfWeaponEffects.cpp:640
virtual void ApplyEffectTo(double aSimTime, WsfPlatform *aOtherPlatformPtr)
Definition WsfWeaponEffects.cpp:549
bool ProcessInput(UtInput &aInput) override
Definition WsfWeaponEffects.cpp:178
virtual void ApplyEffectIncrement(double aSimTime, WsfPlatform *aOtherPlatformPtr, double aDamageAmount)
Definition WsfWeaponEffects.cpp:482
virtual bool IsVulnerable(WsfPlatform *aOtherPlatformPtr)
Definition WsfWeaponEffects.cpp:670
virtual bool Initialize(double aSimTime, const WsfWeaponEngagement *aEngagementPtr)
Definition WsfWeaponEffects.cpp:150
WsfWeaponEffects * Clone() const override=0
WsfWeaponEffects(WsfScenario &aScenario)
Definition WsfWeaponEffects.cpp:51
Definition WsfWeaponEngagement.hpp:43
Definition WsfWeapon.hpp:63