|
VR-Engage
2.2
|
DtVreRadarObjectSensor extends the base radar object sensor to provide enhanced functionality for VR-Engage. It manages radar emitter systems, detection parameters, and designated target tracking. The sensor publishes radar emissions through DIS emitter systems and provides an interface for target designation and tracking.
This class serves as a base class for more specialized radar sensor types like the Simple Radar Object Sensor.
#include <vreRadarObjectSensor.h>
Public Member Functions | |
| DtVreRadarObjectSensor (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| virtual | ~DtVreRadarObjectSensor () override |
| virtual bool | init () override |
| virtual const char * | type () const override |
| virtual int | sensorType () const override |
| virtual void | tick () override |
| virtual bool | createAndInitSensorMonitors () override |
| virtual bool | createAndInitRadarSettingsMonitor () |
| virtual void | processSetRadarSettings (DtSimMessage *msg) |
| virtual DtReaderWriter * | processProvideDesignatedTarget ()=0 |
| virtual void | setDesignatedTargets (const std::vector< int > &trackIds)=0 |
| virtual void | clearDesignatedTargets ()=0 |
Public Member Functions inherited from makVre::DtVreSimComponent< DtRadarObjectSensor > | |
| DtVreSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| virtual | ~DtVreSimComponent () |
| bool | isPlayerControlled (const std::string &role="") const |
| DtString | entitySystemName () const |
Static Public Member Functions | |
| static void | setRadarSettingsCallback (DtSimMessage *msg, void *usrData) |
| static DtReaderWriter * | provideDesignatedTargetCallback (void *usrData) |
Protected Member Functions | |
| virtual void | updateDetectionArea () |
| virtual void | registerAttributeFunctions () override |
| virtual const char * | defaultPSRType () const override |
Protected Attributes | |
| DtRadarStateMonitor * | myRadarStateMonitor |
| const DtVreRadarObjectSensorDescriptor * | myRadarObjectDescriptor |
| DtVreRadarObjectSensorPSR * | myRadarObjectPsr |
Private Member Functions | |
| DtVreRadarObjectSensor () | |
| DtVreRadarObjectSensor (const DtVreRadarObjectSensor &orig) | |
| const DtVreRadarObjectSensor & | operator= (const DtVreRadarObjectSensor &orig) |
|
private |
Default constructor (not implemented)
Default constructor is private and not implemented to prevent creation of instances without proper initialization.
Referenced by DtVreRadarObjectSensor(), and operator=().
|
private |
Copy constructor (not implemented)
Copy constructor is private and not implemented to prevent copy construction.
References DtVreRadarObjectSensor().
| makVre::DtVreRadarObjectSensor::DtVreRadarObjectSensor | ( | const DtString & | name, |
| DtLocalObject * | owner, | ||
| DtSimulationServices * | simManager, | ||
| DtComponentDescriptor * | desc = 0, | ||
| DtReaderWriterRegistry * | parentRegistry = 0 ) |
Constructor.
| name | The name of this component |
| owner | The local object that owns this component |
| simManager | The simulation services manager |
| desc | Component descriptor with configuration parameters |
| parentRegistry | Optional parent registry for reader/writer functionality |
Creates a new radar object sensor component with the specified parameters.
|
overridevirtual |
Virtual destructor.
Cleans up resources used by the radar object sensor component, including the radar state monitor and emitter systems.
|
private |
Assignment operator (not implemented)
Assignment operator is private and not implemented to prevent assignment.
References DtVreRadarObjectSensor().
|
overridevirtual |
Initializes the radar sensor component.
Performs component initialization, including setting up the radar emitter systems, sensor monitors, and attribute providers.
Reimplemented in makVre::DtVreSimpleRadarObjectSensor.
|
overridevirtual |
Gets the type identifier for this component.
Implements the DtSimComponent::type() method to return the type identifier for this component.
Reimplemented in makVre::DtVreSimpleRadarObjectSensor.
|
overridevirtual |
Gets the sensor type identifier.
Returns the sensor type identifier, which is used to categorize this sensor as a radar sensor type.
|
overridevirtual |
Updates the radar sensor state each simulation frame.
This method handles several radar operations during each tick:
Reimplemented in makVre::DtVreSimpleRadarObjectSensor.
|
overridevirtual |
Creates and initializes sensor monitors.
Creates and initializes the sensor monitors used to communicate with visualization clients, including the radar state monitor. Overrides the base class implementation.
|
virtual |
Creates and initializes the radar settings monitor.
Creates and initializes the radar settings monitor which handles communication about radar settings between the simulation and visualization clients.
|
static |
Static callback function for radar settings messages.
| msg | The simulation message containing radar settings |
| usrData | User data pointer, typically pointing to an instance of this class |
Static function registered as a callback to handle radar settings messages. Forwards the message to the appropriate instance's processSetRadarSettings method.
|
virtual |
Processes a radar settings message.
| msg | The simulation message containing radar settings |
Updates the radar's settings based on the message content. This can include changes to scan patterns, detection ranges, and other radar parameters.
|
static |
Static callback function for designated target requests.
| usrData | User data pointer, typically pointing to an instance of this class |
Static function registered as a callback to handle requests for information about the current designated target. Forwards the request to the appropriate instance's processProvideDesignatedTarget method.
|
pure virtual |
Provides information about the currently designated target.
Pure virtual method that must be implemented by derived classes to provide information about the currently designated target. This information is used by other components to identify which target the radar is currently tracking.
Implemented in makVre::DtVreSimpleRadarObjectSensor.
|
pure virtual |
Sets the list of designated targets for the radar.
| trackIds | Vector of track IDs to designate |
Pure virtual method that must be implemented by derived classes to set the designated targets for the radar. The order of track IDs in the vector may represent their priority, depending on the implementation.
Implemented in makVre::DtVreSimpleRadarObjectSensor.
|
pure virtual |
Clears all designated targets from the radar.
Pure virtual method that must be implemented by derived classes to clear all current target designations. This removes all target designations, restoring the radar to a standard search/track state.
Implemented in makVre::DtVreSimpleRadarObjectSensor.
|
protectedvirtual |
Updates the radar's detection area based on current settings.
Updates the sensor's geometry evaluator and emitter beam angles according to the current radar settings. This adjusts the detection capabilities of the radar based on parameters such as scan pattern, range, and field of view.
|
overrideprotectedvirtual |
Registers attribute provider functions.
Registers attribute provider functions with the attribute executive, including the "designated-target" attribute. These attributes allow other components to query information about the radar's current state.
|
overrideprotectedvirtual |
Gets the default process state repository type.
Returns the default process state repository type for this component. This determines what type of state repository will be created for storing the radar's persistent state information.
Reimplemented in makVre::DtVreSimpleRadarObjectSensor.
|
protected |
Pointer to the radar state monitor.
Manages the communication of radar state information between the simulation and visualization clients. Handles subscription requests and sends updates when the radar state changes.
|
protected |
Pointer to the radar sensor descriptor.
Contains configuration parameters for the radar sensor, such as detection ranges, scan patterns, and emitter characteristics.
|
protected |
Pointer to the radar sensor process state repository.
Contains the persistent state information for the radar sensor, including current detection settings, scan state, and timing information.