12#ifndef WSFSENSORTRACKER_HPP
13#define WSFSENSORTRACKER_HPP
15#include "wsf_export.h"
18#include "UtRandom.hpp"
99 virtual unsigned int GetActiveTrackCount()
const;
101 virtual void GetActiveTrackList(
WsfTrackList& aActiveTrackList);
103 virtual unsigned int GetMaximumTrackCount()
const;
105 virtual bool GetTargetState(
double aSimTime,
const WsfTrackId& aRequestId, TargetState& aTargetState);
107 virtual void GetRequestDataForTarget(
size_t aObjectId,
WsfTrackId& aRequestId,
size_t& aModeIndex,
WsfTrackId& aTrackId)
const;
111 virtual bool ProcessInput(UtInput& aInput);
113 virtual void SchedulerModeChange(
double aSimTime,
119 virtual void StopTracking(
double aSimTime,
const WsfTrackId& aRequestId);
121 virtual void TargetBlocked(
double aSimTime,
const Settings& aSettings,
const WsfTrackId& aRequestId,
size_t aObjectId);
123 virtual bool TargetDeleted(
double aSimTime,
const Settings& aSettings,
const WsfTrackId& aRequestId,
size_t aObjectId);
125 virtual void TargetDetected(
double aSimTime,
126 const Settings& aSettings,
132 virtual bool TargetSkipped(
double aSimTime,
const Settings& aSettings,
const WsfTrackId& aRequestId,
size_t aObjectId);
134 virtual void TargetUndetected(
double aSimTime,
135 const Settings& aSettings,
141 virtual void TurnOff(
double aSimTime);
143 virtual void TurnOn(
double aSimTime);
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfTrackListT< WsfTrack > WsfTrackList
Definition WsfTrackList.hpp:88
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensorScheduler.hpp:29
Definition WsfSensorTracker.hpp:34
WsfSensorTrackerSettings()
Definition WsfSensorTracker.hpp:44
unsigned int mOptions
Definition WsfSensorTracker.hpp:59
unsigned int mComponentFlags
Additional flags that are passed to the component when mComponentRole is non-zero.
Definition WsfSensorTracker.hpp:66
int mComponentRole
Definition WsfSensorTracker.hpp:64
Options
A bitmask of options that can be passed to the tracker.
Definition WsfSensorTracker.hpp:38
@ cSUPPRESS_ALLOW_TRACKING_CHECK
Definition WsfSensorTracker.hpp:41
@ cSUPPRESS_TRACKING_CRITERIA
Definition WsfSensorTracker.hpp:40
@ cSUPPRESS_DETECTION_CHANGE_MESSAGES
Definition WsfSensorTracker.hpp:39
WsfSensorTrackerSettings(unsigned int aOptions, int aComponentRole, unsigned int aComponentFlags)
A bitmask of Settings (from the enum Settings).
Definition WsfSensorTracker.hpp:51
double mLockonTime
Definition WsfSensorTracker.hpp:85
UtVec3d mLocationWCS
Definition WsfSensorTracker.hpp:83
UtVec3d mVelocityWCS
Definition WsfSensorTracker.hpp:84
TargetState()
Constructor for nested class TargetState.
Definition WsfSensorTracker.cpp:413
Definition WsfSensorTracker.hpp:75
WsfSensor * GetSensor() const
Definition WsfSensorTracker.hpp:145
virtual WsfSensorTracker * Clone() const
Clone this tracker.
Definition WsfSensorTracker.cpp:45
WsfSensorTracker & operator=(const WsfSensorTracker &aSrc)=delete
void InitializeTrackP(double aSimTime, const Settings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *&aTrackPtr)
Definition WsfSensorTracker.cpp:356
bool AllowTrackingP(double aSimTime, const Settings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfTrack *aTrackPtr, WsfSensorResult &aResult)
A convenience method for tracker implementations to ask components if an object should be allowed to ...
Definition WsfSensorTracker.cpp:299
void DropTrackP(double aSimTime, const Settings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *&aTrackPtr)
Definition WsfSensorTracker.cpp:326
ut::Random & GetRandom() const
Definition WsfSensorTracker.cpp:292
void UpdateTrackP(double aSimTime, const Settings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
Definition WsfSensorTracker.cpp:384
virtual ~WsfSensorTracker()=default
WsfSensorTracker()
Definition WsfSensorTracker.cpp:25
WsfSensorScheduler * mSchedulerPtr
Definition WsfSensorTracker.hpp:189
bool DebugEnabled() const
Returns 'true' if debugging is enabled for the tracker.
Definition WsfSensorTracker.hpp:97
WsfSensorTrackerSettings Settings
Definition WsfSensorTracker.hpp:89
WsfSensor * mSensorPtr
The sensor to which the tracker is attached.
Definition WsfSensorTracker.hpp:185
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120