11#ifndef L16_COMPUTERPROCESSOR_HPP
12#define L16_COMPUTERPROCESSOR_HPP
14#include "wsf_l16_export.h"
19#include "DisEntityId.hpp"
22#include "UtCallback.hpp"
23#include "UtCallbackHolder.hpp"
56 typedef std::map<WsfStringId, ComputerPart*>
PartMap;
94 virtual void ProcessJMessage(
double aSimTime,
const Messages::InitialBase& aMessage);
120 void ProcessMessageP(
double aSimTime,
129 void HandlePPLI_Message(
double aSimTime,
const Messages::InitialBase& aMessage);
131 void FillPPLI_Track(
double aSimTime,
WsfTrack& aTrack,
const Messages::InitialBase& aPPLI);
133 void HandleTrackMessage(
double aSimTime,
const Messages::InitialBase& aMessage);
137 bool IsJ11_1_Valid(
const Messages::InitialBase* aMessage);
139 void LoadPart(UtInput& aInput,
ComputerPart* aProcessor);
141 bool MessageShouldBeSent(
const Messages::InitialBase* aMessage);
143 void SetTrackColorFromIFF(
WsfTrack* aTrackPtr,
int aIFF);
145 void SetPlatform(
WsfPlatform* aPlatformPtr)
override;
155 bool mIgnoreSurveillanceTracks;
156 UtCallbackHolder mCallbacks;
161 std::map<WsfTrackId, int> mTrackNumberMapping;
162 std::map<int, WsfStringId> mIFF_ColorMap;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition Configuration.hpp:26
Definition WsfCommandChain.hpp:36
Definition WsfJTIDS_SlotGroup.hpp:48
A specialization of WsfComm representing a JTIDS terminal.
Definition WsfJTIDS_Terminal.hpp:63
Definition ComputerPart.hpp:53
std::map< WsfStringId, ComputerPart * > PartMap
Definition ComputerProcessor.hpp:56
bool ProcessMessage(double aSimTime, const WsfMessage &aMessage) override
Definition ComputerProcessor.cpp:380
ComputerPart * FindPart(WsfStringId aNameId)
Definition ComputerProcessor.cpp:798
void SentJMessage(double aSimTime, ComputerPart *aPartPtr, JMessage &aMessage, WsfCommandChain *aCommandChainPtr)
Definition ComputerProcessor.cpp:339
void SetTrackNumber(WsfLocalTrack &aLocalTrack, int aTrackNumber, int aSourceTrackNumber)
Definition ComputerProcessor.cpp:819
bool WSF_OutputEnabled() const
Definition ComputerProcessor.hpp:100
WsfJTIDS_Terminal * GetJTIDS_Comm()
Definition ComputerProcessor.hpp:69
~ComputerProcessor() override
Definition ComputerProcessor.cpp:113
const PartMap & GetParts()
Definition ComputerProcessor.hpp:104
Interface * GetInterface() const
Definition ComputerProcessor.hpp:116
TrackList & GetPPLI_List()
Definition ComputerProcessor.hpp:102
virtual void ProcessJMessage(double aSimTime, const Messages::InitialBase &aMessage)
Definition ComputerProcessor.cpp:393
unsigned int GetTrackNumber() const
Definition ComputerProcessor.hpp:87
wsf::comm::Comm * GetComm()
Definition ComputerProcessor.hpp:68
static void RegisterType(UtScriptTypes &aTypes)
Definition ComputerProcessor.cpp:886
const char * GetScriptClassName() const override
Definition ComputerProcessor.cpp:842
bool Initialize(double aSimTime) override
Definition ComputerProcessor.cpp:138
ComputerPart * CreatePart(const std::string &aName, const std::string &aType)
Definition ComputerProcessor.cpp:123
static WSF_L16_EXPORT unsigned int GetPlatformTrackNumber(WsfPlatform &aPlatform)
Definition ComputerProcessor.cpp:352
WsfProcessor * Clone() const override
Definition ComputerProcessor.cpp:72
bool ProcessInput(UtInput &aInput) override
Definition ComputerProcessor.cpp:202
bool DisOutputEnabled() const
Definition ComputerProcessor.hpp:98
void ClearTrackNumber(const WsfLocalTrack &aLocalTrack)
Definition ComputerProcessor.cpp:833
ComputerProcessor(WsfScenario &aScenario)
Definition ComputerProcessor.cpp:77
Configuration & Config()
Returns a reference to the Computer's configuration.
Definition ComputerProcessor.hpp:85
Definition Interface.hpp:116
Definition JMessage.hpp:24
SurveillancePart is responsible for sending tracks.
Definition SurveillancePart.hpp:33
Definition TrackList.hpp:38
Definition TrackMessageProxy.hpp:27
Definition WsfLocalTrack.hpp:32
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfComm.hpp:43
Definition WsfCommResult.hpp:34
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition ComputerProcessor.hpp:74
DisEntityId mEntityId
Definition ComputerProcessor.hpp:75
int mSpecificTypeID
Definition ComputerProcessor.hpp:81
std::string mCallsign
Definition ComputerProcessor.hpp:80
bool mIsC2
Definition ComputerProcessor.hpp:77
unsigned int mTrackNumber
Definition ComputerProcessor.hpp:76
bool mIsSimulated
Definition ComputerProcessor.hpp:78
bool mIndirectSender
Definition ComputerProcessor.hpp:79