12#ifndef WSFMILEVENTPIPE_HPP
13#define WSFMILEVENTPIPE_HPP
27class WsfMilEventPipeWeaponUpdateEvent;
29#define JAM_CHANGE_WORKAROUND_NECESSARY 1
112 std::size_t aTargetIndex);
119 std::size_t aTargetIndex);
126 std::size_t aTargetIndex);
130 void SendWeaponStatus(
double aSimTime,
WsfWeapon* aWeaponPtr);
133 void PublishAntennaData(WsfEventPipe::BeamDefinition& bd,
139 void Send(
double aSimTime,
const WsfPlatform& aPlatform, std::unique_ptr<WsfEventPipe::MsgBase> aMessagePtr)
141 mEventPipePtr->SendDependent(aSimTime, aPlatform, std::move(aMessagePtr));
145 UtCallbackHolder mBaseCallbacks;
148 UtCallbackHolder mTaskCallback;
149 UtCallbackHolder mJammingCallback;
156 using WeaponModeIdentifier =
157 std::pair<unsigned int, std::string>;
158 std::set<WeaponModeIdentifier> mModeSet;
159 std::map<unsigned int, WsfMilEventPipeWeaponUpdateEvent*> mWeaponUpdateEvents;
160#ifdef JAM_CHANGE_WORKAROUND_NECESSARY
161 std::map<std::pair<size_t, std::string>, std::map<size_t, int>> mJamList;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition UtPack.hpp:137
Definition WsfAntennaPattern.hpp:35
Definition WsfArticulatedPart.hpp:36
Definition WsfDirectedEnergyWeapon.hpp:27
Definition WsfEM_Antenna.hpp:49
Definition WsfEM_Interaction.hpp:68
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
Scenario extension for event pipe. Reads the input file.
Definition WsfEventPipe.hpp:36
Definition WsfEventPipeInterface.hpp:87
Definition WsfEventPipeLogger.hpp:20
Definition WsfEventPipeOptions.hpp:23
void PlatformKilled(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfMilEventPipe.cpp:214
void TaskAssigned(double aSimTime, const WsfTask *aTaskPtr, const WsfTrack *aTrackPtr)
Definition WsfMilEventPipe.cpp:528
void WeaponFireAborted(double aSimTime, WsfWeapon *aWeaponPtr, const WsfTrack *aTargetTrackPtr, double aQuantity)
void WeaponModeActivated(double aSimTime, WsfWeapon *aWeaponPtr, WsfWeapon::WsfWeaponMode *aModePtr)
Definition WsfMilEventPipe.cpp:412
void GetAdditionalDE_Info(WsfDirectedEnergyWeapon *aWeaponPtr, WsfPlatform *aTargetPtr, std::string &aInfo)
void JammingRequestUpdated(double aSimTime, WsfWeapon *aWeaponPtr, double aFrequency, double aBandwidth, WsfStringId aTechniqueId, std::size_t aTargetIndex)
Definition WsfMilEventPipe.cpp:833
void WeaponNonOperational(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:476
WsfMilEventPipe(WsfEventPipeInterface *aEventPipeInterfacePtr)
Definition WsfMilEventPipe.cpp:104
void WeaponTurnedOff(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:422
void JammingRequestInitiated(double aSimTime, WsfWeapon *aWeaponPtr, double aFrequency, double aBandwidth, WsfStringId aTechniqueId, std::size_t aTargetIndex)
Definition WsfMilEventPipe.cpp:809
void UpdateWeaponArticulation(double aSimTime, size_t aPlatformId, WsfStringId &aSensorNameId)
Definition WsfMilEventPipe.cpp:386
static void RegisterEvents(WsfEventPipeExtension &aEventPipeExtension)
Definition WsfMilEventPipe.cpp:85
void TaskCompleted(double aSimTime, const WsfTask *aTaskPtr, WsfStringId aStatus)
Definition WsfMilEventPipe.cpp:558
void QuantumTaskerUpdate(double aSimTime, WsfQuantumTaskerProcessor *aProcessor)
Definition WsfMilEventPipe.cpp:704
void WeaponTurnedOn(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:456
void WeaponKilled(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:481
void JammingAttempt(double aSimTime, WsfEM_Xmtr *aXmtrPtr, WsfEM_Rcvr *aRcvrPtr, WsfEM_Interaction &aResult)
void WeaponFinalOutgoingCheck(double aSimTime, WsfWeaponEngagement *aEngagementPtr)
void TaskCanceled(double aSimTime, const WsfTask *aTaskPtr)
Definition WsfMilEventPipe.cpp:545
void WeaponModeDeactivated(double aSimTime, WsfWeapon *aWeaponPtr, WsfWeapon::WsfWeaponMode *aModePtr)
Definition WsfMilEventPipe.cpp:417
void WeaponQuantityChanged(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:687
void SendModeActive(double aSimTime, WsfWeapon *aSensorPtr, WsfWeapon::WsfWeaponMode *aModePtr, bool aActive)
Definition WsfMilEventPipe.cpp:226
void WeaponFired(double aSimTime, const WsfWeaponEngagement *aEngagementPtr, const WsfTrack *aTargetTrackPtr)
Definition WsfMilEventPipe.cpp:653
void WeaponOperational(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfMilEventPipe.cpp:471
void WeaponTerminated(double aSimTime, const WsfWeaponEngagement *aEngagementPtr)
Definition WsfMilEventPipe.cpp:571
void JammingRequestCanceled(double aSimTime, WsfWeapon *aWeaponPtr, double aFrequency, double aBandwidth, std::size_t aTargetIndex)
Definition WsfMilEventPipe.cpp:784
void UpdateSubscriptions(const WsfEventPipeOptions &aNewCombinedOptions, const WsfEventPipeOptions &aPreviousCombinedOptions) override
Definition WsfMilEventPipe.cpp:114
void WeaponSelected(double aSimTime, WsfWeapon *aWeaponPtr, WsfTrack *aTargetTrackPtr=nullptr, int aStoreId=0)
void WeaponFireRequested(double aSimTime, WsfWeapon *aWeaponPtr, const WsfTrack *aTargetTrackPtr, double aQuantity)
static void RegisterMessages(UtPackSerializer *aSerializer)
A callback from WsfEventPipeInterface::AddedToSimulation to register our message types with the seria...
Definition WsfMilEventPipe.cpp:99
Definition WsfQuantumTaskerProcessor.hpp:55
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
A class that defines a task to be performed.
Definition WsfTask.hpp:28
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeaponEffects.hpp:48
Definition WsfWeaponEngagement.hpp:43
A 'mode' of the weapon.
Definition WsfWeapon.hpp:78
Definition WsfWeapon.hpp:63