15#ifndef WSFWEAPONTRACKPROCESSOR_HPP
16#define WSFWEAPONTRACKPROCESSOR_HPP
18#include "wsf_mil_export.h"
63 void Update(
double aSimTime)
override;
69 void SetCurrentTarget(
double aSimTime,
WsfTrack* aTrackPtr);
88 const double aTgtLocWCS[3],
89 const double aTgtVelWCS[3],
90 double aIntLocWCS[3]);
92 virtual void GetInterceptData(
double aSimTime,
double& aTimeToGo,
double& aRangeToGo,
double& aRangeToTgt);
101 size_t GetCurrentTargetIndex();
103 std::unique_ptr<WsfScriptContext> mContextPtr;
104 std::unique_ptr<WsfScriptMessageHandler> mMessageHandlerPtr;
106 std::vector<Sensor> mSensorList;
110 bool mIgnoreUplinkTargetChange;
113 bool mUplinkRequired;
116 bool mRequireInterceptCalculation;
139 double mLastCmdTrackUpdateTime;
140 double mLastSnrTrackUpdateTime;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfLocalTrack.hpp:32
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Definition WsfProcessor.hpp:39
WsfProcessor * Clone() const override=0
bool Initialize(double aSimTime) override
Definition WsfProcessor.cpp:86
bool Initialize2(double aSimTime) override
Definition WsfProcessor.cpp:104
void Update(double aSimTime) override
Definition WsfProcessor.cpp:121
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
bool ProcessInput(UtInput &aInput) override
Definition WsfProcessor.cpp:132
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfScriptContext.hpp:71
Definition WsfScriptMessageHandler.hpp:42
Definition WsfSensor.hpp:92
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeaponTrackProcessor.hpp:47
EngagementPhase GetEngagementPhase() const
Definition WsfWeaponTrackProcessor.hpp:65
virtual void ProcessTrackDrop(double aSimTime, const WsfTrackId &aTrackId)
Definition WsfWeaponTrackProcessor.cpp:639
virtual void ProcessTrackUpdate(double aSimTime, const WsfTrack &aTrack)
Definition WsfWeaponTrackProcessor.cpp:535
EngagementPhase
Definition WsfWeaponTrackProcessor.hpp:50
@ cMID_COURSE
Definition WsfWeaponTrackProcessor.hpp:51
@ cTERMINAL
Definition WsfWeaponTrackProcessor.hpp:52
virtual void GetInterceptData(double aSimTime, double &aTimeToGo, double &aRangeToGo, double &aRangeToTgt)
Definition WsfWeaponTrackProcessor.cpp:468
virtual void UpdateTargetTrack(double aSimTime, bool aAdjustUpdateInterval)
Definition WsfWeaponTrackProcessor.cpp:693
WsfWeaponTrackProcessor & operator=(const WsfWeaponTrackProcessor &)=delete
WsfWeaponTrackProcessor(WsfScenario &aScenario)
Definition WsfWeaponTrackProcessor.cpp:40
static bool FindIntercept(const double aWpnLocWCS[3], double aWpnSpeed, const double aTgtLocWCS[3], const double aTgtVelWCS[3], double aIntLocWCS[3])
Definition WsfWeaponTrackProcessor.cpp:396
Definition WsfWeaponTrackProcessor.hpp:72
double mTurnOnTime
Definition WsfWeaponTrackProcessor.hpp:77
bool mUseTargetLocation
Definition WsfWeaponTrackProcessor.hpp:79
double mTurnOnRange
Definition WsfWeaponTrackProcessor.hpp:78
WsfSensor * mSensorPtr
Definition WsfWeaponTrackProcessor.hpp:74
WsfStringId mSensorName
Definition WsfWeaponTrackProcessor.hpp:73