15#ifndef WSFWEAPONTASKMANAGER_HPP
16#define WSFWEAPONTASKMANAGER_HPP
18#include "wsf_mil_export.h"
133 void UplinkStart(
double aSimTime,
unsigned int aTaskId);
149 void BeginAutoUplink(
double aSimTime,
const WsfTrack& aTrack,
const WsfTask& aFireTask);
151 bool TaskWaitToTransmit(
double aSimTime,
const WsfTrack& aTrack,
const WsfTask& aTask);
156 UtCallbackHolder mCallbacks;
158 WeaponTaskLogMap mWeaponTaskLog;
171 double mDefaultUplinkDelay;
174 double mUplinkSendInterval;
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_WEAPON_TASK_MANAGER
WsfTaskManager extension for weapons.
Definition WsfMilComponentRoles.hpp:20
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfAssociationMessage.hpp:43
Definition WsfComponent.hpp:39
virtual const int * GetComponentRoles() const =0
virtual WsfStringId GetComponentName() const =0
virtual WsfComponent * CloneComponent() const =0
virtual void * QueryInterface(int aRole)=0
virtual bool Initialize(double aSimTime)
Definition WsfComponent.cpp:45
virtual bool ProcessInput(UtInput &aInput)
Definition WsfComponent.cpp:100
Definition WsfProcessor.hpp:39
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfTaskManager.hpp:55
virtual void PlatformDeleted(WsfPlatform *aPlatformPtr)
Definition WsfTaskManager.hpp:60
virtual bool ReleaseResource(double aSimTime, WsfTask &aTask)
Definition WsfTaskManager.hpp:65
virtual void TaskCorrelated(double aSimTime, WsfTask &aTask)
Definition WsfTaskManager.hpp:67
virtual bool AcquireResource(double aSimTime, WsfTask &aTask, const WsfTrack &aTrack, bool &aStatusOk)
Definition WsfTaskManager.hpp:61
virtual void TaskCanceled(double aSimTime, WsfTask &aTask)
Definition WsfTaskManager.hpp:68
virtual bool AssignTask(double aSimTime, const WsfTrack &aTrack, const WsfTask &aTask, bool aLockTrack=true)
Definition WsfTaskManager.hpp:71
virtual void TrackDropped(double aSimTime, const WsfTrackId &aTrackId)
Definition WsfTaskManager.hpp:79
virtual bool ProcessTaskStatusMessage(double aSimTime, const WsfTaskStatusMessage &aMessage)
Definition WsfTaskManager.hpp:82
virtual void PurgeReceivedTask(double aSimTime, WsfTask &aTask)
Definition WsfTaskManager.hpp:76
virtual void PurgeTransmittedTask(double aSimTime, WsfTask &aTask)
Definition WsfTaskManager.hpp:77
virtual bool ProcessAssociationMessage(double aSimTime, const WsfAssociationMessage &aMessage)
Definition WsfTaskManager.hpp:81
Definition WsfTaskManager.hpp:98
std::list< WsfTask > TaskList
Definition WsfTaskManager.hpp:109
Definition WsfTaskStatusMessage.hpp:42
A class that defines a task to be performed.
Definition WsfTask.hpp:28
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeaponEngagement.hpp:43
Definition WsfWeaponTaskManager.hpp:43
static WsfWeaponTaskManager * FindOrCreate(WsfProcessor &aParent)
Definition WsfWeaponTaskManager.cpp:101
~WsfWeaponTaskManager() override=default
virtual void WeaponFired(double aSimTime, const WsfWeaponEngagement *aEngagementPtr, const WsfTrack *aTargetTrackPtr)
Definition WsfWeaponTaskManager.cpp:1044
std::map< WsfTrackId, WeaponTaskLogEntry > WeaponTaskLogMap
Definition WsfWeaponTaskManager.hpp:92
int RoundsFiredAt(const WsfTrackId &aTrackId)
Definition WsfWeaponTaskManager.cpp:803
int SalvosFiredAt(const WsfTrackId &aTrackId)
Definition WsfWeaponTaskManager.cpp:781
static WsfWeaponTaskManager * Find(const WsfProcessor &aParent)
Find the instance of this component attached to the specified processor.
Definition WsfWeaponTaskManager.cpp:91
void UplinkStart(double aSimTime, unsigned int aTaskId)
Definition WsfWeaponTaskManager.cpp:844
WsfWeaponTaskManager & operator=(const WsfWeaponTaskManager &)=delete
static void RegisterComponentFactory(WsfScenario &aScenario)
Register the component factory that handles input for this component.
Definition WsfWeaponTaskManager.cpp:84
std::set< std::pair< size_t, WsfStringId > > WeaponTaskLogEntry
Definition WsfWeaponTaskManager.hpp:91
virtual bool AbortFiring(double aSimTime, const WsfTrackId &aTrackId)
Definition WsfWeaponTaskManager.cpp:929
WsfStringId GetAutoUplinkPlatformNameId() const
Definition WsfWeaponTaskManager.hpp:144
void StartingWeaponTask(double aSimTime, const WsfTask &aTask)
Definition WsfWeaponTaskManager.cpp:1214
void SetAutoUplinkPlatformNameId(WsfStringId aAutoUplinkPlatform)
Definition WsfWeaponTaskManager.hpp:146
virtual void WeaponFireAborted(double aSimTime, WsfWeapon *aWeaponPtr, const WsfTrack *aTargetTrackPtr, double aQuantity)
Definition WsfWeaponTaskManager.cpp:998
static UtCallbackListN< void(const WsfWeapon *, bool &)> IsWeaponReadyForLaunch
Check for weapon ready states.
Definition WsfWeaponTaskManager.hpp:128
void WeaponTerminated(double aSimTime, const WsfWeaponEngagement *aEngagementPtr)
Definition WsfWeaponTaskManager.cpp:1194
double TimeWeaponLastFiredFor(const WsfTrackId &aTrackId)
Return the simulation time of the most recent weapon firing against the specified track.
Definition WsfWeaponTaskManager.cpp:675
WsfWeaponTaskManager()
Definition WsfWeaponTaskManager.cpp:113
double TimeWeaponLastTerminatedFor(const WsfTrackId &aTrackId)
Return the simulation time of the most recent weapon termination against the specified track.
Definition WsfWeaponTaskManager.cpp:700
bool IsAutoUplink() const
Definition WsfWeaponTaskManager.hpp:136
int WeaponsActiveFor(const WsfTrackId &aTrackId)
Definition WsfWeaponTaskManager.cpp:726
void SetAutoUplink(bool aBool)
Definition WsfWeaponTaskManager.hpp:142
Definition WsfWeapon.hpp:63