![]() |
VR-Forces 5.0.2 Developer's Guide
|
This class handles all of the position processing for Position Requests It receives signals from the DtPositionResponder when these requests are received and tells the DtCigiDriver to generate responses. If running the CIGI driver in a separate thread, will use the driver's driver function queue to perform the operations. Split out of DtPositionResponder to match LOS/HOT/HAT processing, and remove the need for DtDe in the responder.
Public Member Functions | |
| virtual | ~DtCigiPositionHandler () |
Protected Member Functions | |
| DtCigiPositionHandler (DtDe &de, DtCigiConnection &connection) | |
| virtual void | slot_onPositionRequest (DtPositionResponder::DtPositionRequestData *positionRequest) |
| DtSceneObject * | findSceneObject (const DtUniqueID &objectId) |
| DtOsgArticulatedModel * | findArticulatedModel (DtUniqueID modelId) |
| virtual void | setGeodeticPositionOrientationFromSceneObject (DtSceneObject &sceneObject, DtGeodeticCoord &objectGeodCoord, DtTaitBryan &objectOrient) |
| virtual void | setGeodeticPositionOrientationFromObserver (DtObserver &observer, DtGeodeticCoord &objectGeodCoord, DtTaitBryan &objectOrient) |
| virtual void | processObserverPositionRequest (DtPositionResponder::DtPositionRequestData *requestData) |
| virtual void | performPositionRequest (DtPositionResponder::DtPositionRequestData &positionReq) |
| virtual void | generatePositionResponse (DtPositionResponder::DtPositionRequestData *requestData, DtVector positionVec, DtTaitBryan objectOrient) |
| virtual void | slot_coordinateSystemChanged () |
Protected Attributes | |
| DtCigiConnection & | myConnection |
| DtDe & | myDe |
| DtSignalConnectionManager | myConnections |
| DtCoordinateSystem * | myCoordinateSystem = nullptr |
Private Member Functions | |
| DtCigiPositionHandler & | operator= (const DtCigiPositionHandler &orig) |
| DtCigiPositionHandler (const DtCigiPositionHandler &orig) | |
Friends | |
| class | DtCigiPositionHandlerCreator |
|
virtual |
Destructor.
|
protected |
Constructor.
|
private |
(Unimplemented) Copy CTOR
|
protectedvirtual |
Slot called when signal_positionCheckRequested is received from the CIGI connection in DtPositionResponder. Passes on the request to performPositionRequest. Queues performPositionRequest as a CIGI driver function if running in thread.
|
protected |
Gets scene object from objectID Returns if scene object not found Called by performPositionRequest - Runs in render thread.
|
protected |
Get the articulated model from articulated model agent ID Called by performPositionRequest - Runs in render thread.
|
protectedvirtual |
Sets the Geodetic position into param objectGeod Sets the orientation into param objectOrient.
| - | objectOrient is in rads Called by performPositionRequest - Runs in render thread |
|
protectedvirtual |
Sets geodetic positional and orientation info from observer object Gets the observer from the view id, calls viewIdKeyboard and retrieveConfiguration for viewId.
| - | objectOrient is in rads Called by performPositionRequest - Runs in render thread |
|
protectedvirtual |
Processing the position adn orientation requests of View IDs Called multiple times when view groups are requested Called by performPositionRequest - Runs in render thread.
|
protectedvirtual |
Perform the position request This method is called from slot_onPositionRequest slot_onPositionRequest queues this method up to run in the render thread if DtCigiConnection is using its own thread All Cigi connection information is passed into this method, it cannot safely call DtCigiConnection methods.
|
protectedvirtual |
Makes a call to the DtPositionResponsder to send out a position response. This method passes the response back to the DtCigiConnection Thread.
|
protectedvirtual |
slot for when the coordinate system changes
|
private |
(Unimplemented) Assignment Operator
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.