|
WSF
|
#include <WsfCarltonLethality.hpp>


Public Member Functions | |
| WsfCarltonLethality (WsfScenario &aScenario) | |
| Default constructor. | |
| ~WsfCarltonLethality () override=default | |
| WsfWeaponEffects * | Clone () const override |
| bool | ProcessInput (UtInput &aInput) override |
| void | SetD0 (double aD0) |
| Set D0 = Input the parameter for the [Munition, Target] pair. (default = 0.5). | |
| double | GetD0 () const |
| Get D0 = Access the parameter used for the [Munition, Target] pair. | |
| bool | AddPlatformType (WsfStringId aPlatformTypeID, double aLethalArea) |
| Public Member Functions inherited from WsfExplicitWeaponEffects | |
| WsfExplicitWeaponEffects (WsfScenario &aScenario) | |
| ~WsfExplicitWeaponEffects () override=default | |
| WsfWeaponEffects * | Clone () const override |
| bool | ProcessInput (UtInput &aInput) override |
| virtual double | MaximumEffectiveRadiusSquared () const |
| Access the miss radius squared beyond which the weapon has no effect. | |
| virtual double | MaximumEffectiveRadius () const |
| Access the miss radius beyond which the weapon has no effect. | |
| void | SetMaxiumEffectiveRadius (double aRadius) |
| Set the radius beyond which the weapon has no effect. | |
| Public Member Functions inherited from WsfWeaponEffects | |
| WsfWeaponEffects (WsfScenario &aScenario) | |
| ~WsfWeaponEffects () override | |
| virtual bool | PreInitialize () |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | Initialize (double aSimTime, const WsfWeaponEngagement *aEngagementPtr) |
| UtScriptContext * | GetScriptAccessibleContext () const override |
| Result | GetTargetResult () const |
| Result | GetIncidentalResult () const |
| Result | GetTotalResult () const |
| bool | UseLaunchPk () const |
| bool | UseInterceptPk () const |
| double | GetPkDegrade () const |
| Return the current Pk degrade factor. | |
| double | GetPkConstraint () const |
| void | SetInvincibleIndex (unsigned int aPlatformID) |
| Set the ID of a platform which shall not be damaged. (Usually the launching entity.). | |
| unsigned int | GetInvincibleIndex () const |
| Get the ID of a platform which will not be damaged. | |
| void | SetDamageRadius (double aDamageRadius) |
| Set the maximum lethal damage radius for this effect. | |
| double | GetDamageRadius () const |
| Return the maximum lethal damage radius for this effect. | |
| double | GetLaunchPk () const |
| Get the Launch Pk. | |
| double | GetInterceptPk () const |
| Get the Intercept Pk. | |
| bool | DrawEndgamePk () |
| Force a pk draw for an external platform target. | |
| virtual double | GetCEP () const |
| Access the value for engagement Circular Error Probable (CEP). | |
| void | SetCEP (double aValue) |
| void | SetPkDegrade (double aPkDegrade) |
| virtual double | GetPkDrawn () const |
| Access the Pk value drawn for the (intended) target hit assessment. | |
| bool | DebugEnabled () const |
| Returns 'true' if debugging is enabled for this instance. | |
| void | SetDebugEnabled (bool aDebugEnabled) |
| Enable or disable debugging for this instance. | |
| unsigned int | KilledPlatformCount () const |
| Method returns the count of platforms killed during this engagement. | |
| bool | IsKilledPlatform (size_t aPlatformIndex) const |
| Returns 'true' if the specified WSF platform index has been killed during this engagement. | |
| WsfPk::Table * | GetPkTable () |
| WsfScenario & | GetScenario () |
| virtual void | ProcessEffectExplicit (double aSimTime) |
| virtual void | ProcessEffectImplicit (double aSimTime) |
| virtual void | Terminate (double aSimTime) |
| void | Defeat () |
| bool | GetIncidentalDamageAllowed () const |
| void | SetIncidentalDamageAllowed (bool aIncidentalDamageAllowed) |
| bool | GetParentDamageAllowed () const |
| void | SetParentDamageAllowed (bool aParentDamageAllowed) |
| 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 | |
| WsfCarltonLethality (const WsfCarltonLethality &aSrc)=default | |
| WsfCarltonLethality & | operator= (const WsfCarltonLethality &aRhs)=delete |
| void | CalcInterceptPk (double aSimTime, WsfPlatform *aTargetPtr) override |
| Protected Member Functions inherited from WsfExplicitWeaponEffects | |
| WsfExplicitWeaponEffects (const WsfExplicitWeaponEffects &aSrc)=default | |
| void | CalcInterceptPk (double aSimTime, WsfPlatform *aTargetPtr) override |
| void | CalcPkParameters (WsfPlatform *aTargetPtr, double &aAzimuth, double &aElevation, double &aMissileSpeed, double &aTargetSpeed) override |
| bool | IsVulnerable (WsfPlatform *aTargetPtr) override |
| double | LastTestRadiusSquared () const |
| void | CalcInterceptGeometry (WsfPlatform *aTargetPtr, double &aRangeRate, double &aApproachAngle) |
| Protected Member Functions inherited from WsfWeaponEffects | |
| WsfWeaponEffects (const WsfWeaponEffects &aSrc) | |
| Copy Constructor for Clone(). | |
| WsfWeaponEffects & | operator= (const WsfWeaponEffects &aRhs) |
| virtual void | ApplyEffectIncrement (double aSimTime, WsfPlatform *aOtherPlatformPtr, double aDamageAmount) |
| virtual void | ApplyEffectTo (double aSimTime, WsfPlatform *aOtherPlatformPtr) |
| virtual void | ApplyDamageResultToOtherPlatform (double aSimTime, WsfPlatform *aOtherPlatformPtr, double aDamage, Result aResult) |
| virtual void | CalcLaunchPk (double aSimTime) |
| virtual void | CalcPkDegradation (double aSimTime, WsfPlatform *aTargetPtr) |
| bool | IsIntendedTargetValid () |
| This protected method assures that a specified target index does exist. | |
| void | AddToKilledPlatforms (unsigned int aKilledIndex) |
| double | DrawUniformPk () |
| Draw a uniform value for Pk determination. | |
| void | ProcessEffectCommon (double aSimTime, WsfPlatform *aRefPlatformPtr) |
| bool | Defeated () const |
| Return a flag to indicate that this effect has been annulled by outside influences. | |
| const WsfWeaponEngagement * | GetEngagement () const |
| Return the Engagement that this effect was instantiated to support. | |
| void | SetUseLaunchPk () |
| Indicate that you wish to use the Launch Pk value (in lieu of the Intercept Pk value). | |
| void | SetUseInterceptPk () |
| Indicate that you wish to use the Intercept Pk value (in lieu of the Launch Pk value). | |
| void | SetLaunchPk (double aValue) |
| void | SetInterceptPk (double aValue) |
| void | SetPkDrawn (double aValue) |
| Set the Pk value used in the intended target hit assessment. | |
| void | SetIncidentalResult (const WsfWeaponEffects::Result &aResult) |
| void | SetTargetResult (const WsfWeaponEffects::Result &aResult) |
| void | SetResult (const WsfWeaponEffects::Result &aResult, bool aIsIntended) |
| size_t | KilledPlatform (size_t aIndex) |
| Method returns an index of one of the platforms killed during this engagement. | |
| const WsfWeaponEngagement * | GetEngagementPtr () const |
| WsfSimulation * | GetSimulation () const |
| WsfScriptContext * | GetScriptContext () const |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Additional Inherited Members | |
| Public Types inherited from WsfWeaponEffects | |
| enum | Result { cINVALID , cMISSED , cDAMAGED , cKILLED } |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| Static Public Member Functions inherited from WsfWeaponEffects | |
| static WsfStringId | GetWeaponEffectsType (WsfPlatform &aPlatform) |
| Return the weapon effects type for the associated platform. | |
| static std::string | GetResultString (WsfWeaponEffects::Result aResult) |
| Static Public Attributes inherited from WsfWeaponEffects | |
| static const char * | cTYPE_KIND = "weapon_effect" |
| static const double | cUNHARMED = 0.0 |
| Value indicating no damage to a player, the weapon had no effect. | |
| static const double | cMORTALLY_WOUNDED = 1.0 |
A specialization of the WsfLethality class which implements the Carlton Damage Equation.
The Carlton damage equation is:
If there is no lethal area defined for the target type, the munition is assumed to have NO effect on the target.
| WsfCarltonLethality::WsfCarltonLethality | ( | WsfScenario & | aScenario | ) |
Default constructor.
References WsfWeaponEffects::SetUseInterceptPk(), and WsfExplicitWeaponEffects::WsfExplicitWeaponEffects().
Referenced by Clone(), operator=(), and WsfCarltonLethality().
|
overridedefault |
References WsfWeaponEffects::WsfWeaponEffects().
|
protecteddefault |
References WsfCarltonLethality().
| bool WsfCarltonLethality::AddPlatformType | ( | WsfStringId | aPlatformTypeID, |
| double | aLethalArea ) |
Add into consideration a new platform type, by defining the Lethal Area for it.
| aPlatformTypeID | identifies the platform type for which to add consideration. |
| aLethalArea | is the vulnerable area intrinsic to the target platform type. |
Referenced by ProcessInput().
|
overrideprotectedvirtual |
Method to calculate the Intercept Pk, in response to engagement conditions at intercept. Will be called at the beginning of ProcessEffectExplicit().
| aSimTime | simulated time for the weapon effect. |
| aTargetPtr | Target under consideration for damage. |
Reimplemented from WsfWeaponEffects.
References WsfWeaponEffects::GetEngagement(), WsfWeaponEngagement::GetTargetLocationWCS(), WsfObject::GetTypeId(), WsfWeaponEngagement::GetWeaponLocationWCS(), WsfWeaponEngagement::GetWeaponPlatform(), and WsfWeaponEffects::SetInterceptPk().
|
overridevirtual |
Create a clone of the object.
Implements WsfWeaponEffects.
References WsfCarltonLethality(), and WsfWeaponEffects::WsfWeaponEffects().
|
inline |
Get D0 = Access the parameter used for the [Munition, Target] pair.
|
protecteddelete |
References WsfCarltonLethality().
|
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 AddPlatformType(), WsfExplicitWeaponEffects::ProcessInput(), and SetD0().
|
inline |
Set D0 = Input the parameter for the [Munition, Target] pair. (default = 0.5).
Referenced by ProcessInput().