11#ifndef L16_SURVEILLANCEPART_HPP
12#define L16_SURVEILLANCEPART_HPP
18#include "UtScriptData.hpp"
23#include "wsf_l16_export.h"
46 void HandleReceive(
double aSimTime,
const Messages::InitialBase& aMessage)
override;
67 int aLink16_TrackQuality,
68 std::string& aTrackNumberString,
81 void TrackUpdated(
const WsfTrack& aTrack);
83 void TrackCreated(
const WsfTrack& aTrack);
85 void TrackDropped(
const WsfTrack& aTrack);
87 void RawTrackReceived(
const WsfTrack& aTrack);
89 void RawTrackDropped(
const WsfTrack& aTrack);
91 void SendLandTrack(
double aSimTime,
const WsfTrack& aTrack,
int aTrackNumber);
93 void SendSubsurfaceTrack(
double aSimTime,
const WsfTrack& aTrack,
int aTrackNumber);
94 void SendSurfaceTrack(
double aSimTime,
const WsfTrack& aTrack,
int aTrackNumber);
96 void SendSpaceTrack(
double aSimTime,
const WsfTrack& aTrack,
int aTrackNumber);
98 bool IsTrackReportable(
const WsfTrack& aTrack);
100 bool IsSensorTrackSuppressed(
const WsfTrack& aTrack);
ut::script::Data UtScriptData
Definition WsfScriptContext.hpp:47
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
@ WSF_SPATIAL_DOMAIN_AIR
Cars, trucks, buildings, etc.
Definition WsfTypes.hpp:35
ComputerPart(WsfScenario &aScenario, const std::string &aClassName="WsfProcessor")
Definition ComputerPart.cpp:41
Sends and receives link16 messages.
Definition ComputerProcessor.hpp:50
Definition Interface.hpp:116
Interface * mInterfacePtr
Definition SurveillancePart.hpp:140
int mNextTrackNumber
Definition SurveillancePart.hpp:134
bool HaveReportingResponsibility(double aSimTime, const WsfTrack *aTrackPtr, const WsfLocalTrack *aLocalTrackPtr, int aLink16_TrackQuality, std::string &aTrackNumberString, bool &aIsR2_Switch)
Definition SurveillancePart.cpp:415
void SendAirTrack(double aSimTime, const WsfTrack &aTrack, int aTrackNumber)
Definition SurveillancePart.cpp:729
SurveillancePart(WsfScenario &aScenario)
Definition SurveillancePart.cpp:44
ComputerPart * Clone() const override
Definition SurveillancePart.cpp:73
bool TrackAvailableToSend(double aSimTime)
Definition SurveillancePart.cpp:516
std::pair< int, int > mTrackNumberRange
Definition SurveillancePart.hpp:133
bool OwningPlatformWantsTrackRefNumber(const WsfTrack &aTrack)
Definition SurveillancePart.cpp:949
TrackList mUpdatedTracks
Definition SurveillancePart.hpp:127
bool ProcessInput(UtInput &aInput) override
Definition SurveillancePart.cpp:165
~SurveillancePart() override=default
std::set< int > mSuppressDomains
Definition SurveillancePart.hpp:136
void HandleSend(double aSimTime) override
This method is called when the a slot is open.
Definition SurveillancePart.cpp:240
bool mIgnoreReportingResponsibility
Definition SurveillancePart.hpp:131
TrackList mUnchangedTracks
Definition SurveillancePart.hpp:124
UtScriptData * mTrackVariablePtr
Definition SurveillancePart.hpp:139
TrackMap::iterator FindTrackToSend()
Definition SurveillancePart.cpp:522
bool mSuppressDeadTargets
Definition SurveillancePart.hpp:130
WsfTrackManager * mTrackManager
Definition SurveillancePart.hpp:132
int GetTrackNumber(WsfLocalTrack &aLocalTrack)
Definition SurveillancePart.cpp:916
std::list< TrackMap::iterator > TrackList
Definition SurveillancePart.hpp:104
std::set< WsfStringId > mSuppressSensors
Definition SurveillancePart.hpp:137
InputEnumeration mSpatialDomainInput
Definition SurveillancePart.hpp:138
bool SuppressSensor(WsfStringId aSensorName, bool aSuppress)
Definition SurveillancePart.cpp:973
bool mSendNonSensorReports
Definition SurveillancePart.hpp:129
std::map< WsfTrackId, TrackInfo > TrackMap
Definition SurveillancePart.hpp:103
bool Initialize(double aSimTime, ComputerProcessor &aComputer) override
Definition SurveillancePart.cpp:79
TrackEnvironment
Definition SurveillancePart.hpp:74
@ cAIR
Definition SurveillancePart.hpp:75
@ cSUBSURFACE
Definition SurveillancePart.hpp:77
@ cSURFACE
Definition SurveillancePart.hpp:76
@ cLAND
Definition SurveillancePart.hpp:78
WsfSimulation * GetSimulation() const
Definition SurveillancePart.cpp:968
int mDefaultTrackDomain
Definition SurveillancePart.hpp:135
void HandleReceive(double aSimTime, const Messages::InitialBase &aMessage) override
Handle an incoming message.
Definition SurveillancePart.cpp:236
TrackMap mTracks
Definition SurveillancePart.hpp:118
double mMaxSendInterval
Definition SurveillancePart.hpp:128
Definition WsfLocalTrack.hpp:32
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackManager.hpp:62
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
Definition SurveillancePart.hpp:107
bool mIsUpdated
Definition SurveillancePart.hpp:110
TrackList::iterator mIterator
Definition SurveillancePart.hpp:109
double mLastSendTime
Definition SurveillancePart.hpp:108