18#include "wsf_mil_export.h"
23#include "UtCallbackHolder.hpp"
139 void KillPlatform(
double aSimTime,
WsfPlatform* aPlatformPtr);
142 void FrameObjectUpdate(
double aCurrentFrameTime);
143 void WeaponTurnedOff(
double aSimTime,
WsfWeapon* aWeaponPtr);
144 void WeaponTurnedOn(
double aSimTime,
WsfWeapon* aWeaponPtr);
145 void PlatformDeleted(
double aSimTime,
WsfPlatform* aPlatformPtr);
147 std::unique_ptr<WsfEW_EffectManager> mEW_EffectManagerPtr;
148 std::unique_ptr<WsfQuantumTaskerObserver> mQuantumTaskerObserverPtr;
149 std::unique_ptr<WsfWeaponObserver> mWeaponObserverPtr;
150 std::unique_ptr<WsfWeaponTaskObserver> mWeaponTaskObserverPtr;
151 std::unique_ptr<WsfMilEventPipe> mMilEventPipePtr;
153 std::map<WsfWeapon*, bool> mWeaponsChangingState;
154 std::vector<WsfWeapon*> mWeapons;
155 UtCallbackHolder mCallbacks;
159#define WSF_MIL_OBSERVER_CALLBACK_DEFINE(OBSERVER, EVENT) \
160 WsfObserver::EVENT##Callback& WsfObserver::EVENT(const WsfSimulation* aSimulationPtr) \
162 return WsfMilInterface::Find(aSimulationPtr)->Get##OBSERVER##Observer().EVENT; \
Definition WsfAcousticSignatureTypes.hpp:21
Definition WsfEW_EA_EP_Types.hpp:19
Manages simulation-wide variables used by EW Effects.
Definition WsfEW_EffectManager.hpp:27
Definition WsfEW_EffectTypes.hpp:20
Definition WsfEW_TechniqueTypes.hpp:19
Definition WsfFalseTargetScreenerTypes.hpp:19
Definition WsfFalseTargetTypes.hpp:19
Definition WsfGuidanceProgram.hpp:28
Definition WsfHighEnergyLaser.hpp:226
Definition WsfInfraredSignatureTypes.hpp:21
Definition WsfInherentContrastTypes.hpp:21
Definition WsfLaunchComputerTypes.hpp:21
Definition WsfMilEventPipe.hpp:32
WsfOpticalPathCoefficientTypes & GetOpticalPathCoefficientTypes() const
Definition WsfMil.hpp:88
WsfWeaponEffectsTypes & GetWeaponEffectsTypes() const
Definition WsfMil.hpp:91
WsfFalseTargetTypes & GetFalseTargetTypes() const
Definition WsfMil.hpp:81
WsfHighEnergyLaserTypes & GetHighEnergyLaserTypes() const
Definition WsfMil.hpp:84
WsfPk::TableManager & GetPkTableManager() const
Definition WsfMil.hpp:74
WsfMilExtension()
Definition WsfMil.cpp:870
WsfEW_EA_EP_Types & GetEA_EP_Types() const
Definition WsfMil.hpp:78
WsfFalseTargetScreenerTypes & GetFalseTargetScreenerTypes() const
Definition WsfMil.hpp:82
WsfInherentContrastTypes & GetInherentContrastTypes() const
Definition WsfMil.hpp:86
WsfAcousticSignatureTypes & GetAcousticSignatureTypes() const
Definition WsfMil.hpp:76
WsfLaunchComputerTypes & GetLaunchComputerTypes() const
Definition WsfMil.hpp:87
WsfEW_EffectTypes & GetEW_EffectTypes() const
Definition WsfMil.hpp:79
WsfOpticalSignatureTypes & GetOpticalSignatureTypes() const
Definition WsfMil.hpp:90
wsf::CN2_Types & GetCN2_Types() const
Definition WsfMil.hpp:77
WsfOpticalReflectivityTypes & GetOpticalReflectivityTypes() const
Definition WsfMil.hpp:89
static WsfMilExtension * Find(const WsfScenario &aScenario)
Definition WsfMil.cpp:853
WsfEW_TechniqueTypes & GetEW_TechniqueTypes() const
Definition WsfMil.hpp:80
WsfWeaponTypes & GetWeaponTypes() const
Definition WsfMil.hpp:92
WsfInfraredSignatureTypes & GetInfraredSignatureTypes() const
Definition WsfMil.hpp:85
static WsfMilExtension & Get(const WsfScenario &aScenario)
Definition WsfMil.cpp:860
WsfGuidanceProgramTypes & GetGuidanceProgramTypes() const
Definition WsfMil.hpp:83
WsfMilInterface()
Definition WsfMil.cpp:1064
WsfWeaponObserver & GetWeaponObserver()
Definition WsfMil.hpp:133
WsfWeaponTaskObserver & GetWeaponTaskObserver()
Definition WsfMil.hpp:135
static WsfMilInterface * Find(const WsfSimulation &aSimulation)
Definition WsfMil.cpp:1075
void AddedToSimulation() override
Definition WsfMil.cpp:1085
WsfEW_EffectManager & GetEW_EffectManager() const
Definition WsfMil.hpp:137
WsfQuantumTaskerObserver & GetQuantumTaskerObserver()
Definition WsfMil.hpp:131
Definition WsfOpticalPath.hpp:163
Definition WsfOpticalReflectivityTypes.hpp:21
Definition WsfOpticalSignatureTypes.hpp:21
Definition WsfPkTable.hpp:149
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
virtual bool ProcessInput(UtInput &aInput)
Definition WsfScenarioExtension.cpp:62
virtual void AddedToScenario()
Definition WsfScenarioExtension.cpp:50
virtual void SimulationCreated(WsfSimulation &aSimulation)
Definition WsfScenarioExtension.cpp:119
friend class WsfScenario
Definition WsfScenarioExtension.hpp:39
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSimulationExtension()
Definition WsfSimulationExtension.cpp:23
friend class WsfSimulation
Definition WsfSimulationExtension.hpp:43
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfWeaponEffectsTypes.hpp:21
Definition WsfWeaponTypes.hpp:21
Definition WsfWeapon.hpp:63
The types factory for CN2 models (owned by the scenario).
Definition WsfAtmosphericTurbulence.hpp:97
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfQuantumTaskerObserver.hpp:31
Definition WsfWeaponObserver.hpp:117
Definition WsfWeaponTaskObserver.hpp:31