VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtCigiPositionHandler Class Reference

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. More...

Public Member Functions

virtual ~DtCigiPositionHandler ()
 Destructor. More...
 

Protected Member Functions

 DtCigiPositionHandler (DtDe &de, DtCigiConnection &connection)
 Constructor. More...
 
virtual void slot_onPositionRequest (DtPositionResponder::DtPositionRequestData *positionRequest)
 Slot called when signal_positionCheckRequested is received from the CIGI connection in DtPositionResponder. More...
 
DtSceneObjectfindSceneObject (const DtUniqueID &objectId)
 Gets scene object from objectID Returns if scene object not found Called by performPositionRequest - Runs in render thread. More...
 
DtOsgArticulatedModelfindArticulatedModel (DtUniqueID modelId)
 Get the articulated model from articulated model agent ID Called by performPositionRequest - Runs in render thread. More...
 
virtual void setGeodeticPositionOrientationFromSceneObject (DtSceneObject &sceneObject, DtGeodeticCoord &objectGeodCoord, DtTaitBryan &objectOrient)
 Sets the Geodetic position into param objectGeod Sets the orientation into param objectOrient. More...
 
virtual void setGeodeticPositionOrientationFromObserver (DtObserver &observer, DtGeodeticCoord &objectGeodCoord, DtTaitBryan &objectOrient)
 Sets geodetic positional and orientation info from observer object Gets the observer from the view id, calls viewIdKeyboard and retrieveConfiguration for viewId. More...
 
virtual void processObserverPositionRequest (DtPositionResponder::DtPositionRequestData *requestData)
 Processing the position adn orientation requests of View IDs Called multiple times when view groups are requested Called by performPositionRequest - Runs in render thread. More...
 
virtual void performPositionRequest (DtPositionResponder::DtPositionRequestData &positionReq)
 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. More...
 
virtual void generatePositionResponse (DtPositionResponder::DtPositionRequestData *requestData, DtVector positionVec, DtTaitBryan objectOrient)
 Makes a call to the DtPositionResponsder to send out a position response. More...
 

Protected Attributes

DtCigiConnectionmyConnection
 
DtDemyDe
 
DtSignalConnectionManager myConnections
 

Private Member Functions

DtCigiPositionHandleroperator= (const DtCigiPositionHandler &orig)
 (Unimplemented) Assignment Operator More...
 
 DtCigiPositionHandler (const DtCigiPositionHandler &orig)
 (Unimplemented) Copy CTOR More...
 

Friends

class DtCigiPositionHandlerCreator
 

Detailed Description

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

Constructor & Destructor Documentation

virtual makVrv::DtCigiPositionHandler::~DtCigiPositionHandler ( )
virtual

Destructor.

makVrv::DtCigiPositionHandler::DtCigiPositionHandler ( DtDe de,
DtCigiConnection connection 
)
protected

Constructor.

makVrv::DtCigiPositionHandler::DtCigiPositionHandler ( const DtCigiPositionHandler orig)
private

(Unimplemented) Copy CTOR

Member Function Documentation

virtual void makVrv::DtCigiPositionHandler::slot_onPositionRequest ( DtPositionResponder::DtPositionRequestData positionRequest)
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

DtSceneObject* makVrv::DtCigiPositionHandler::findSceneObject ( const DtUniqueID objectId)
protected

Gets scene object from objectID Returns if scene object not found Called by performPositionRequest - Runs in render thread.

DtOsgArticulatedModel* makVrv::DtCigiPositionHandler::findArticulatedModel ( DtUniqueID  modelId)
protected

Get the articulated model from articulated model agent ID Called by performPositionRequest - Runs in render thread.

virtual void makVrv::DtCigiPositionHandler::setGeodeticPositionOrientationFromSceneObject ( DtSceneObject sceneObject,
DtGeodeticCoord &  objectGeodCoord,
DtTaitBryan &  objectOrient 
)
protectedvirtual

Sets the Geodetic position into param objectGeod Sets the orientation into param objectOrient.

Parameters
-objectOrient is in rads Called by performPositionRequest - Runs in render thread
virtual void makVrv::DtCigiPositionHandler::setGeodeticPositionOrientationFromObserver ( DtObserver observer,
DtGeodeticCoord &  objectGeodCoord,
DtTaitBryan &  objectOrient 
)
protectedvirtual

Sets geodetic positional and orientation info from observer object Gets the observer from the view id, calls viewIdKeyboard and retrieveConfiguration for viewId.

Parameters
-objectOrient is in rads Called by performPositionRequest - Runs in render thread
virtual void makVrv::DtCigiPositionHandler::processObserverPositionRequest ( DtPositionResponder::DtPositionRequestData requestData)
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.

virtual void makVrv::DtCigiPositionHandler::performPositionRequest ( DtPositionResponder::DtPositionRequestData positionReq)
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.

virtual void makVrv::DtCigiPositionHandler::generatePositionResponse ( DtPositionResponder::DtPositionRequestData requestData,
DtVector  positionVec,
DtTaitBryan  objectOrient 
)
protectedvirtual

Makes a call to the DtPositionResponsder to send out a position response.

This method passes the response back to the DtCigiConnection Thread

DtCigiPositionHandler& makVrv::DtCigiPositionHandler::operator= ( const DtCigiPositionHandler orig)
private

(Unimplemented) Assignment Operator

Friends And Related Function Documentation

friend class DtCigiPositionHandlerCreator
friend

Member Data Documentation

DtCigiConnection& makVrv::DtCigiPositionHandler::myConnection
protected
DtDe& makVrv::DtCigiPositionHandler::myDe
protected
DtSignalConnectionManager makVrv::DtCigiPositionHandler::myConnections
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)