WSF
WsfBMCSV_EventOutput.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9/*******************************************************************************
10*
11* File: WsfBMCSV_EventOutput.hpp
12*
13* Classification: UNCLASSIFIED
14*
15* Details:
16*
17* Contract Number:
18* Contractor Name: Radiance Technologies
19* Address: 350 Wynn Drive
20* Huntsville, AL 35805
21*
22* Abstract:
23*
24*******************************************************************************/
25
26#ifndef WSFBMCSV_EVENTOUTPUT_HPP
27#define WSFBMCSV_EVENTOUTPUT_HPP
28
29#include <memory>
30
31#include "wsf_iads_c2_export.h"
32
33#include "UtPlugin.hpp"
34#include "UtCallback.hpp"
35#include "UtCallbackHolder.hpp"
36#include "WsfComm.hpp"
37#include "WsfMessage.hpp"
39#include "WsfSimulation.hpp"
40#include <WsfBMCommon.hpp>
41#include <WsfBMMOELogger.hpp>
42
43namespace il
44{
45 class evaluationAssignment;
46}
47
48class WSF_IADS_C2_LIB_EXPORT WsfBMCSV_EventOutputData
49{
50 public:
52};
53
55class WSF_IADS_C2_LIB_EXPORT WsfBMCSV_EventOutput : protected WsfBMCSV_EventOutputData
56{
57 friend class WsfBMHEFIRMOELogger;
58 protected:
59 //need a MOELogger object to link callbacks
61 WsfBMHEFIRMOELogger* aMOE_Logger); // constructor
62 //WsfBMCSV_EventOutput(WsfBMCSV_EventOutput const&){}; // copy constructor
63 //WsfBMCSV_EventOutput& operator=(WsfBMCSV_EventOutput const&){}; //= operator
64
66
67 private:
68 //MOE Logger Callback
69 void BMAssignment(const double curr_time, const il::evaluationAssignment* assignment, const std::string assignment_flag);
70
71 virtual void AssignmentStatus(const double curr_time, const il::assignmentACKMessage* status, const il::evaluationAssignment* related_assignment);
72 virtual void AssignmentCancel(const double curr_time, const il::idRecord* cancelling_unit, const il::evaluationAssignment* active_assignment, const std::string& cancel_reason);
73 virtual void CANTCOAssignment(const double curr_time, const il::idRecord* responding_unit, const il::assignmentMessage* assignment, const il::trackRecord* opt_track, const std::string& reason);
74 virtual void Allocate(const double curr_time, const il::idRecord* allocating_unit, const il::assessmentRecord* assessment);
75
76 virtual void SensorCue(const double curr_time, const il::assetRecord* curr_unit, const il::trackRecord* master_track, const il::assignmentMessage* assignment, const il::sensorRecord* sensor_to_assign);
77 virtual void SensorDropCue(const double curr_time, const il::assetRecord* curr_unit, const il::trackRecord* master_track, const il::assignmentMessage* assignment, const il::sensorRecord* sensor_to_assign);
78 virtual void SensorTracking(const double curr_time, const il::trackRecord* master_track, const il::sensorRecord* assigned_sensor);
79
80 virtual void AIAddBehavior(const double curr_time, const std::string behavior, const il::trackRecord* target, const il::assetRecord* ai_asset, const double range, const double range_to_zone);
81 virtual void AITakeAction(const double curr_time, const il::trackRecord* track, const il::assetRecord* ai_asset, const std::string& action_type, const double end_time_s, const double range, const double range_to_zone);
82 virtual void AIEgress(const double curr_time, const il::assetRecord* ai_asset, const std::string& egress_method, const std::string& corridor_name, const double speed);
83
84 //Registered message print methods
85 void PrintBMStatusMessage(double aSimTime, const WsfMessage& aMessage);
86
87 //MESSAGE_RECEIVED event callback
88 //void MessageReceived(double aSimTime, WsfComm* aXmtrPtr, WsfComm* aRcvrPtr, const WsfMessage& aMessage, WsfComm::Result& aResult);
89};
90
91#endif
WsfBMCSV_EventOutputData()
Definition WsfBMCSV_EventOutput.cpp:56
friend class WsfBMHEFIRMOELogger
Definition WsfBMCSV_EventOutput.hpp:57
WsfBMCSV_EventOutput(WsfCSV_EventOutput &aCSV_EventOutput, WsfBMHEFIRMOELogger *aMOE_Logger)
Definition WsfBMCSV_EventOutput.cpp:114
WsfCSV_EventOutput * mCSV_EventOutput
Definition WsfBMCSV_EventOutput.hpp:65
A simulation observer to write a comma separated values (csv) event output file.
Definition WsfCSV_EventOutput.hpp:46
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Definition WsfAssetManager.hpp:34
Copyrights Multiple, All Rights Reserved