12#ifndef WSFRF_REPEATER_HPP
13#define WSFRF_REPEATER_HPP
15#include "wsf_mil_export.h"
17#include "UtCallbackHolder.hpp"
66 void Reset(
double aSimTime);
71 void RegisterTrack(
const WsfTrack* aTrackPtr);
72 void RegisterTrackId(
WsfTrackId aTrackId,
size_t aTargetIndex);
73 void RemoveTrackId(
WsfTrackId aTrackId,
size_t aTargetIndex);
89 bool CheckDetectAndUpdate(
double aSimTime,
98 void SensorTrackDropped(
double aSimTime,
WsfTrackId aTrackId,
size_t aTargetIndex);
103 void SensorTrackInitiated(
double aSimTime,
const WsfTrack* aTrackPtr);
108 void SensorTrackUpdated(
double aSimTime,
const WsfTrack* aTrackPtr);
112 using TrackIdtoSignalMap = std::map<WsfTrackId, std::vector<WsfTrack::Signal>>;
114 using TrackIdToTrackIdMap = std::map<WsfTrackId, WsfTrackId>;
116 using TargetIndexToSensorNameId = std::map<size_t, WsfStringId>;
117 using TargetIndexToTrackIdMap = std::map<size_t, WsfTrackId>;
119 void AddUpdateSignalList(
const WsfTrack* aTrackPtr);
121 bool MergeTrack(
const WsfTrack* aDetectedTrackPtr);
123 void UpdateTrack(
const WsfTrack* aTrackPtr);
127 OperatingMode mOperatingMode;
128 bool mSignalFollowing;
131 TrackIdtoSignalMap mTrackIdToSignalMap;
132 TargetIndexToSensorNameId mTargetIndexToSensorNameId;
134 TrackIdToTrackIdMap mMergedTrackIdMap;
135 TrackIdToTrackIdMap mReverseMergedTrackIdMap;
Definition WsfEM_Interaction.hpp:68
Definition WsfEM_Xmtr.hpp:55
Definition WsfRF_Repeater.hpp:30
bool IsSignalFollowing() const
Definition WsfRF_Repeater.hpp:69
bool ProcessInputBlock(UtInput &aInput)
A convenience method to check for and process a 'repeater/end_repeater' block.
Definition WsfRF_Repeater.cpp:123
bool ProcessInput(UtInput &aInput)
Definition WsfRF_Repeater.cpp:81
WsfRF_Repeater & operator=(const WsfRF_Repeater &)=delete
WsfRF_Repeater * Clone() const
Creates and returns a pointer to a clone of this object.
Definition WsfRF_Repeater.cpp:61
WsfRF_Repeater()
Definition WsfRF_Repeater.cpp:33
OperatingMode
The operating mode of the repeater.
Definition WsfRF_Repeater.hpp:34
@ cOM_AUTO
Automatically starts and stops assignments based on ESM/RWR. Requires a linked ESM/RWR.
Definition WsfRF_Repeater.hpp:37
@ cOM_SEMIAUTO
Manually starting of assignments with automatic stopping based on ESM/RWR . Requires a linked ESM/RWR...
Definition WsfRF_Repeater.hpp:36
@ cOM_MANUAL
Waits for assignments to be made manually.
Definition WsfRF_Repeater.hpp:35
~WsfRF_Repeater()=default
OperatingMode GetOperatingMode() const
Definition WsfRF_Repeater.hpp:68
void Reset(double aSimTime)
Definition WsfRF_Repeater.cpp:146
bool Initialize(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfRF_Repeater.cpp:67
Definition WsfSensorResult.hpp:27
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeapon.hpp:63