12#ifndef WSFBMEVENTRESULTS_HPP
13#define WSFBMEVENTRESULTS_HPP
17#include "wsf_iads_c2_lib_export.h"
19#include <iadsLib/assetManagerInterface.hpp>
20#include <iadsLib/assignmentContainers.hpp>
21#include <iadsLib/moeLoggingInterface.hpp>
22#include <iadsLib/util.hpp>
40 const il::evaluationAssignment* aAssignment,
41 const std::string aAssignmentFlag,
48 bool aIsDelegate =
false)
49 :
Result(aSimTime, aSettings),
50 mAssignment(aAssignment),
51 mAssignmentFlag(aAssignmentFlag),
52 mAssigningPlatform(aAssigningPlatform),
53 mAssignedPlatform(aAssignedPlatform),
54 mTargetPlatform(aTargetPlatform),
55 mAssignedWeapon(aAssignedWeapon),
56 mIsDelegate(aIsDelegate)
57 { UtVec3d::Set(mTargetLLA, aTargetLLA); }
60 void Print(std::ostream& aStream)
const override;
61 void PrintCSV(std::ostream& aStream)
const override;
64 const il::evaluationAssignment* mAssignment;
65 const std::string mAssignmentFlag;
79 const il::assignmentACKMessage* aStatus,
80 const il::evaluationAssignment* aRelatedAssignment,
81 std::string aStatusType,
86 std::string aSystemicScope,
89 :
Result(aSimTime, aSettings),
91 mRelatedAssignment(aRelatedAssignment),
92 mStatusType(aStatusType),
93 mAssigningPlatform(aAssigningPlatform),
94 mAssignedPlatform(aAssignedPlatform),
95 mTargetPlatform(aTargetPlatform),
96 mAssignedWeapon(aAssignedWeapon),
97 mSystemicScope(aSystemicScope),
98 mSimulation(aSimulation)
102 void Print(std::ostream& aStream)
const override;
103 void PrintCSV(std::ostream& aStream)
const override;
106 const il::assignmentACKMessage* mStatus;
107 const il::evaluationAssignment* mRelatedAssignment;
108 std::string mStatusType;
113 std::string mSystemicScope;
122 const il::idRecord* aCancellingUnit,
123 const il::evaluationAssignment* aActiveAssignment,
124 const std::string& aCancelReason,
131 :
Result(aSimTime, aSettings),
132 mCancellingUnit(aCancellingUnit),
133 mActiveAssignment(aActiveAssignment),
134 mCancelReason(aCancelReason),
135 mCancellingPlatform(aCancellingPlatform),
136 mAssigningPlatform(aAssigningPlatform),
137 mAssignedPlatform(aAssignedPlatform),
138 mTargetPlatform(aTargetPlatform),
139 mAssignedWeapon(aAssignedWeapon)
143 void Print(std::ostream& aStream)
const override;
144 void PrintCSV(std::ostream& aStream)
const override;
147 const il::idRecord* mCancellingUnit;
148 const il::evaluationAssignment* mActiveAssignment;
149 const std::string& mCancelReason;
162 const il::idRecord* aRespondingUnit,
163 const il::assignmentMessage* aAssignment,
164 const il::trackRecord* aOptTrack,
165 const std::string& aReason,
172 :
Result(aSimTime, aSettings),
173 mRespondingUnit(aRespondingUnit),
174 mAssignment(aAssignment),
175 mOptTrack(aOptTrack),
177 mAssigningPlatform(aAssigningPlatform),
178 mAssignedPlatform(aAssignedPlatform),
179 mTargetPlatform(aTargetPlatform),
180 mReportingPlatform(aReportingPlatform),
181 mAssignedWeapon(aAssignedWeapon)
186 void Print(std::ostream& aStream)
const override;
187 void PrintCSV(std::ostream& aStream)
const override;
190 const il::idRecord* mRespondingUnit;
191 const il::assignmentMessage* mAssignment;
192 const il::trackRecord* mOptTrack;
193 const std::string& mReason;
207 const il::assessmentRecord* aAssessment,
209 std::string aZoneTypes,
211 :
Result(aSimTime, aSettings),
212 mAllocatingPlatform(aAllocatingPlatform),
213 mAssessment(aAssessment),
214 mTargetPlatform(aTargetPlatform),
215 mZoneTypes(aZoneTypes)
220 void Print(std::ostream& aStream)
const override;
221 void PrintCSV(std::ostream& aStream)
const override;
225 const il::assessmentRecord* mAssessment;
227 std::string mZoneTypes;
235 const il::assetRecord* aCurrentUnit,
236 const il::trackRecord* aMasterTrack,
237 const il::assignmentMessage* aAssignment,
238 const il::sensorRecord* aSensorToAssign,
242 :
Result(aSimTime, aSettings),
243 mCurrentUnit(aCurrentUnit),
244 mMasterTrack(aMasterTrack),
245 mAssignment(aAssignment),
246 mSensorToAssign(aSensorToAssign),
247 mTargetPlatform(aTargetPlatform),
248 mSimulation(aSimulation)
252 void Print(std::ostream& aStream)
const override;
253 void PrintCSV(std::ostream& aStream)
const override;
256 const il::assetRecord* mCurrentUnit;
257 const il::trackRecord* mMasterTrack;
258 const il::assignmentMessage* mAssignment;
259 const il::sensorRecord* mSensorToAssign;
269 const il::assetRecord* aCurrentUnit,
270 const il::trackRecord* aMasterTrack,
271 const il::assignmentMessage* aAssignment,
272 const il::sensorRecord* aSensorToAssign,
276 :
Result(aSimTime, aSettings),
277 mCurrentUnit(aCurrentUnit),
278 mMasterTrack(aMasterTrack),
279 mAssignment(aAssignment),
280 mSensorToAssign(aSensorToAssign),
281 mTargetPlatform(aTargetPlatform),
282 mSimulation(aSimulation)
286 void Print(std::ostream& aStream)
const override;
287 void PrintCSV(std::ostream& aStream)
const override;
290 const il::assetRecord* mCurrentUnit;
291 const il::trackRecord* mMasterTrack;
292 const il::assignmentMessage* mAssignment;
293 const il::sensorRecord* mSensorToAssign;
303 const il::trackRecord* aMasterTrack,
304 const il::sensorRecord* aAssignedSensor,
305 const il::positionRecord aTrackingLocation,
307 double aTargetLLA[3],
310 :
Result(aSimTime, aSettings),
311 mMasterTrack(aMasterTrack),
312 mAssignedSensor(aAssignedSensor),
313 mTrackingLocation(aTrackingLocation),
314 mTargetPlatform(aTargetPlatform),
315 mSimulation(aSimulation)
316 { UtVec3d::Set(mTargetLLA, aTargetLLA); }
319 void Print(std::ostream& aStream)
const override;
320 void PrintCSV(std::ostream& aStream)
const override;
323 const il::trackRecord* mMasterTrack;
324 const il::sensorRecord* mAssignedSensor;
325 const il::positionRecord mTrackingLocation;
327 double mTargetLLA[3];
336 const std::string aBehavior,
337 const il::trackRecord* aMasterTrack,
338 const il::assetRecord* aAIAsset,
340 const double aRangeToZone,
341 double aTargetLLA[3],
343 :
Result(aSimTime, aSettings),
344 mBehavior(aBehavior),
345 mMasterTrack(aMasterTrack),
348 mRangeToZone(aRangeToZone)
349 { UtVec3d::Set(mTargetLLA, aTargetLLA); }
352 void Print(std::ostream& aStream)
const override;
353 void PrintCSV(std::ostream& aStream)
const override;
356 const std::string mBehavior;
357 const il::trackRecord* mMasterTrack;
358 const il::assetRecord* mAIAsset;
360 const double mRangeToZone;
361 double mTargetLLA[3];
369 const std::string& aActionType,
370 const double aEndTime,
371 const il::trackRecord* aMasterTrack,
372 const il::assetRecord* aAIAsset,
374 const double aRangeToZone,
375 double aTargetLLA[3],
377 :
Result(aSimTime, aSettings),
378 mActionType(aActionType),
380 mMasterTrack(aMasterTrack),
383 mRangeToZone(aRangeToZone)
384 { UtVec3d::Set(mTargetLLA, aTargetLLA); }
387 void Print(std::ostream& aStream)
const override;
388 void PrintCSV(std::ostream& aStream)
const override;
391 const std::string& mActionType;
392 const double mEndTime;
393 const il::trackRecord* mMasterTrack;
394 const il::assetRecord* mAIAsset;
396 const double mRangeToZone;
397 double mTargetLLA[3];
405 const il::assetRecord* aAIAsset,
406 const std::string& aEgressMethod,
407 const std::string& aCorridorName,
409 :
Result(aSimTime, aSettings),
411 mEgressMethod(aEgressMethod),
412 mCorridorName(aCorridorName)
417 void Print(std::ostream& aStream)
const override;
418 void PrintCSV(std::ostream& aStream)
const override;
421 const il::assetRecord* mAIAsset;
422 const std::string& mEgressMethod;
423 const std::string& mCorridorName;
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfWeapon.hpp:63
~AIAddBehavior() override=default
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:462
AIAddBehavior(double aSimTime, const std::string aBehavior, const il::trackRecord *aMasterTrack, const il::assetRecord *aAIAsset, const double aRange, const double aRangeToZone, double aTargetLLA[3], Settings &aSettings)
Definition WsfBMEventResults.hpp:335
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:442
AIEgress(double aSimTime, const il::assetRecord *aAIAsset, const std::string &aEgressMethod, const std::string &aCorridorName, Settings &aSettings)
Definition WsfBMEventResults.hpp:404
~AIEgress() override=default
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:546
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:529
~AITakeAction() override=default
AITakeAction(double aSimTime, const std::string &aActionType, const double aEndTime, const il::trackRecord *aMasterTrack, const il::assetRecord *aAIAsset, const double aRange, const double aRangeToZone, double aTargetLLA[3], Settings &aSettings)
Definition WsfBMEventResults.hpp:368
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:506
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:484
~Allocate() override=default
Allocate(double aSimTime, WsfPlatform *aAllocatingPlatform, const il::assessmentRecord *aAssessment, WsfPlatform *aTargetPlatform, std::string aZoneTypes, Settings &aSettings)
Definition WsfBMEventResults.hpp:205
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:321
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:309
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:232
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:252
AssignmentCancel(double aSimTime, const il::idRecord *aCancellingUnit, const il::evaluationAssignment *aActiveAssignment, const std::string &aCancelReason, WsfPlatform *aCancellingPlatform, WsfPlatform *aAssigningPlatform, WsfPlatform *aAssignedPlatform, WsfPlatform *aTargetPlatform, WsfWeapon *aAssignedWeapon, Settings &aSettings)
Definition WsfBMEventResults.hpp:121
~AssignmentCancel() override=default
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:75
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:149
AssignmentStatus(double aSimTime, const il::assignmentACKMessage *aStatus, const il::evaluationAssignment *aRelatedAssignment, std::string aStatusType, WsfPlatform *aAssigningPlatform, WsfPlatform *aAssignedPlatform, WsfPlatform *aTargetPlatform, WsfWeapon *aAssignedWeapon, std::string aSystemicScope, WsfSimulation &aSimulation, Settings &aSettings)
Definition WsfBMEventResults.hpp:78
~AssignmentStatus() override=default
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:53
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:33
BMAssignment(double aSimTime, const il::evaluationAssignment *aAssignment, const std::string aAssignmentFlag, WsfPlatform *aAssigningPlatform, WsfPlatform *aAssignedPlatform, WsfPlatform *aTargetPlatform, WsfWeapon *aAssignedWeapon, double aTargetLLA[3], Settings &aSettings, bool aIsDelegate=false)
Definition WsfBMEventResults.hpp:39
~BMAssignment() override=default
~CANTCOAssignment() override=default
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:290
CANTCOAssignment(double aSimTime, const il::idRecord *aRespondingUnit, const il::assignmentMessage *aAssignment, const il::trackRecord *aOptTrack, const std::string &aReason, WsfPlatform *aAssigningPlatform, WsfPlatform *aAssignedPlatform, WsfPlatform *aTargetPlatform, WsfPlatform *aReportingPlatform, WsfWeapon *aAssignedWeapon, Settings &aSettings)
Definition WsfBMEventResults.hpp:161
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:271
Result(double aSimTime, Settings aSettings=Settings{}, std::string aEventName="UNSET")
Definition WsfEventResult.hpp:119
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:350
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:334
SensorCue(double aSimTime, const il::assetRecord *aCurrentUnit, const il::trackRecord *aMasterTrack, const il::assignmentMessage *aAssignment, const il::sensorRecord *aSensorToAssign, WsfPlatform *aTargetPlatform, WsfSimulation &aSimulation, Settings &aSettings)
Definition WsfBMEventResults.hpp:234
~SensorCue() override=default
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:383
~SensorDropCue() override=default
SensorDropCue(double aSimTime, const il::assetRecord *aCurrentUnit, const il::trackRecord *aMasterTrack, const il::assignmentMessage *aAssignment, const il::sensorRecord *aSensorToAssign, WsfPlatform *aTargetPlatform, WsfSimulation &aSimulation, Settings &aSettings)
Definition WsfBMEventResults.hpp:268
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:367
~SensorTracking() override=default
SensorTracking(double aSimTime, const il::trackRecord *aMasterTrack, const il::sensorRecord *aAssignedSensor, const il::positionRecord aTrackingLocation, WsfPlatform *aTargetPlatform, double aTargetLLA[3], WsfSimulation &aSimulation, Settings &aSettings)
Definition WsfBMEventResults.hpp:302
void PrintCSV(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:423
void Print(std::ostream &aStream) const override
Definition WsfBMEventResults.cpp:400
Definition WsfEventResult.hpp:35
Definition WsfXIO_EventResults.cpp:33
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32