DtVreSensorFieldOfViewManager extends the base DtSensorFieldOfViewManager to provide VR-Engage-specific behavior for managing sensor field of view states and the observers associated with them. This includes handling target object position updates, processing tracked locations, managing sensor view windows, and finding appropriate display windows and channels for sensor views.
#include <DtVreSensorFieldOfViewManager.h>
◆ ~DtVreSensorFieldOfViewManager()
| virtual makVre::DtVreSensorFieldOfViewManager::~DtVreSensorFieldOfViewManager |
( |
| ) |
|
|
overridevirtual |
Destructor.
Cleans up resources used by the sensor field of view manager.
◆ DtVreSensorFieldOfViewManager()
| makVre::DtVreSensorFieldOfViewManager::DtVreSensorFieldOfViewManager |
( |
makVrv::DtDe & | de | ) |
|
Constructor.
- Parameters
-
| de | Reference to the display engine |
Creates a new sensor field of view manager associated with the specified display engine. This constructor is technically protected, as instances should be created through the instance() factory method.
References de().
◆ handleTargetObjectPosition()
Handles target object position messages.
- Parameters
-
| msg | Pointer to the target object position message |
- Returns
- Message processing result
Processes messages containing target object position updates. Updates the cached position and may trigger sensor view updates.
◆ update()
| virtual void makVre::DtVreSensorFieldOfViewManager::update |
( |
makVrv::DtUniqueID | hostId, |
|
|
makVrv::DtUniqueID | sensorId, |
|
|
const std::string & | observerName ) |
|
overridevirtual |
Updates sensor field of view state for a specific sensor.
- Parameters
-
| hostId | Unique ID of the host entity |
| sensorId | Unique ID of the sensor |
| observerName | Name of the observer to update |
Updates the sensor field of view state for the specified sensor, which may involve creating or updating sensor views and observers. Overridden to provide VR-Engage-specific update behavior.
◆ processTrackLocation()
| virtual void makVre::DtVreSensorFieldOfViewManager::processTrackLocation |
( |
makVrv::DtObserver * | observer, |
|
|
makVrv::DtElementID | hostEntity, |
|
|
const DtVector & | relativeLocation, |
|
|
const DtVector & | targetLocation ) |
|
overridevirtual |
Processes the location of a tracked target.
- Parameters
-
| observer | Pointer to the observer |
| hostEntity | Element ID of the host entity |
| relativeLocation | Relative location of the tracked target from the host |
| targetLocation | Absolute location of the tracked target |
Processes the location of a tracked target relative to the host entity. This method is overridden to make it public, allowing VR-Engage systems to directly process track locations when needed.
◆ findDisplayWindowAndChannel()
| virtual bool makVre::DtVreSensorFieldOfViewManager::findDisplayWindowAndChannel |
( |
const makVrv::DtObserver * | observer, |
|
|
std::string & | displayName, |
|
|
std::string & | windowName, |
|
|
std::string & | channelName ) const |
|
overridevirtual |
Finds the display window and channel for an observer.
- Parameters
-
| observer | Pointer to the observer |
| displayName | Output parameter for the display name |
| windowName | Output parameter for the window name |
| channelName | Output parameter for the channel name |
- Returns
- True if a display window and channel were found, false otherwise
Finds the appropriate display window and channel for the specified observer. This method is overridden to make it public, allowing VR-Engage systems to directly find display windows and channels when needed.
◆ removeSensorView()
| virtual void makVre::DtVreSensorFieldOfViewManager::removeSensorView |
( |
makVrv::DtUniqueID | entId, |
|
|
makVrv::DtUniqueID | sensorId ) |
|
overridevirtual |
Removes a sensor view window.
- Parameters
-
| entId | Unique ID of the entity |
| sensorId | Unique ID of the sensor |
Removes a sensor view window that has been created for the specified entity and sensor. This method is overridden because the base class implementation attempts to delete the window as well, which would also delete channels associated with it. The VR-Engage implementation provides a safer approach that avoids unintended channel deletion.
◆ myCachedPosition
| DtVector makVre::DtVreSensorFieldOfViewManager::myCachedPosition |
|
protected |
Cached position of the last tracked target.
Stores the position of the last tracked target for use in subsequent calculations or updates. This avoids redundant position calculations or lookups when the same target is being processed multiple times.
The documentation for this class was generated from the following file: