20#include <unordered_map>
74 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
86 virtual bool init()
override;
93 virtual const char*
type()
const override;
111 virtual bool detectObject(DtSimObjectReference
object, DtRwSensorContactInfo* contactInfo)
override;
123 DtSimObjectReference
object, DtRwSensorContactInfo* contactInfo,
bool& contactInfoModified)
override;
135 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
136 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
DtVreRadarObjectSensor()
Default constructor (not implemented)
virtual const char * defaultPSRType() const override
Gets the default process state repository type.
void updateAntennaState()
Updates the radar antenna position and state.
const DtVreSimpleRadarObjectSensor & operator=(const DtVreSimpleRadarObjectSensor &orig)
Assignment operator (not implemented)
virtual void setDesignatedTargets(const std::vector< int > &trackId) override
Sets the list of designated targets for the radar.
double elevationToTargetInDegrees(DtSimObjectReference target)
Calculates the elevation angle to a target.
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Factory method to create a new instance of this component.
bool isTargetDesignated(int trackId) const
Checks if a target is in the designated targets list.
std::unordered_map< int, bool > myTargetDetectionState
Map of detection states indexed by track ID.
Definition vreSimpleRadarObjectSensor.h:294
DtVreSimpleRadarObjectSensor(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
virtual bool init() override
Initializes the radar sensor component.
virtual ContinueDetectingResult continueDetectingObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified) override
Determines if an already detected object should remain detected.
void incrementBar()
Increments the radar scan bar counter.
DtVreSimpleRadarObjectSensor(const DtVreSimpleRadarObjectSensor &orig)
Copy constructor (not implemented)
virtual void tick() override
Updates the radar sensor state each simulation frame.
int nextToShootTarget() const
Gets the highest priority designated target's track ID.
virtual ~DtVreSimpleRadarObjectSensor() override
Virtual destructor.
virtual DtReaderWriter * processProvideDesignatedTarget() override
Provides information about the currently designated target.
virtual int trackID(const DtUUID &id)
Gets the track ID for a target entity.
std::string entityLabelFromType(const DtEntityType &)
Determines a display label for an entity based on its type.
virtual void clearDesignatedTargets() override
Clears all designated targets from the radar.
DtVreSimpleRadarObjectSensor()
Default constructor (not implemented)
bool singleTrackTargetMode() const
Checks if the radar is in Single Track Target mode.
DtVreSimpleRadarObjectSensorPSR * myVreSimpleRadarObjectSensorPsr
Pointer to the radar sensor's process state repository.
Definition vreSimpleRadarObjectSensor.h:300
virtual const DtUUID & uuidFromTrackId(int trackId)
Gets the entity UUID corresponding to a track ID.
int targetPriority(int trackId) const
Gets the priority of a designated target.
virtual const char * type() const override
Gets the type identifier for this component.
bool updateContactData(DtSimObjectReference target, DtRwRadarContactInfo *targetInfo)
Updates the contact information for a detected target.
virtual bool detectObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo) override
Determines if an object should be detected by the radar.
bool targetShouldBeDetected(int trackId)
Determines if a tracked target should be detected based on radar modes.
std::unordered_map< std::string, DtRwString > myKnownEntityLabels
Cache of entity labels by entity type string.
Definition vreSimpleRadarObjectSensor.h:287
double azimuthToTargetInDegrees(DtSimObjectReference target)
Calculates the azimuth angle to a target.
Simplified radar object sensor process state repository for VREngage.
Definition vreSimpleRadarObjectSensorPSR.h:48
Defines export macros for the vreVrfmodel library.
#define VREVRFMODEL_DLL
Definition export.h:22
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtVreSimpleRadarObjectSensorType[]
Type identifier for the VRE simple radar object sensor component.
Definition vreSimpleRadarObjectSensor.h:28
Radar sensor for detecting objects and publishing emitter systems.
Simple radar object sensor process state repository for VREngage.