WSF
WsfBMEventOutput.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: WsfBMEventOutput.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 WSF_BM_EVENTOUTPUT_HPP
27#define WSF_BM_EVENTOUTPUT_HPP
28
29#include <memory>
30#include <WsfBMCommon.hpp>
31//#include "UtCallback.hpp"
32#include "UtCallbackHolder.hpp"
33#include "WsfComm.hpp"
34#include "UtPlugin.hpp"
35
36#include "WsfCallback.hpp"
37#include "WsfMessage.hpp"
38#include "WsfSimulation.hpp"
39class WsfEventOutput;
40#include <WsfBMMOELogger.hpp>
41
42namespace il
43{
44 class evaluationAssignment;
45}
46
48class WSF_IADS_C2_LIB_EXPORT WsfBMEventOutput
49{
50 friend class WsfBMHEFIRMOELogger;
51 protected:
52 // need a MOELogger object to link callbacks
53 WsfBMEventOutput(WsfEventOutput& aEventOutput,
54 WsfBMHEFIRMOELogger* aMOE_Logger); // constructor
55 //WsfBMEventOutput(WsfBMEventOutput const&){}; // copy constructor is private
56 //WsfBMEventOutput& operator=(WsfBMEventOutput const&){}; // assignment operator is private
57
58
60
61 private:
62 // MOE logger callbacks
63 void BMAssignment(const double curr_time, const il::evaluationAssignment* assignment, const std::string assignment_flag);
64 virtual void AssignmentStatus(const double curr_time, const il::assignmentACKMessage* status, const il::evaluationAssignment* related_assignment);
65 virtual void AssignmentCancel(const double curr_time, const il::idRecord* cancelling_unit, const il::evaluationAssignment* active_assignment, const std::string& cancel_reason);
66 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);
67 virtual void Allocate(const double curr_time, const il::idRecord* allocating_unit, const il::assessmentRecord* assessment);
68
69 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);
70 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);
71 virtual void SensorTracking(const double curr_time, const il::trackRecord* master_track, const il::sensorRecord* assigned_sensor);
72
73 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);
74 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);
75 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);
76
77 // Registered message print methods
78 void PrintBMStatusMessage(double aSimTime, const WsfMessage& aMessage);
79
80 //MESSAGE_RECEIVED event callback
81 //void MessageReceived(double aSimTime, WsfComm* aXmtrPtr, WsfComm* aRcvrPtr, const WsfMessage& aMessage, WsfComm::Result& aResult);
82 //void LocalTrackInitiated(double aSimTime, WsfPlatform* aPlatformPtr, const WsfLocalTrack* aTrackPtr, const WsfTrack* aSourcePtr);
83};
84
85#endif
friend class WsfBMHEFIRMOELogger
Definition WsfBMEventOutput.hpp:50
WsfEventOutput * mEventOutput
Definition WsfBMEventOutput.hpp:59
WsfBMEventOutput(WsfEventOutput &aEventOutput, WsfBMHEFIRMOELogger *aMOE_Logger)
Definition WsfBMEventOutput.cpp:54
A simulation observer to write an event output file.
Definition WsfEventOutput.hpp:33
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