![]() |
VR-Forces Developer's Guide
|
A DtPositionResponder processes CIGI Position request messages This class catches signals from the DtCigiSignalProcessor for CigiBasePositionReq packets and splits the processing for the base packet into V3 and V4 methods. This class sends DtPositionRequestData structs via signals to the DtCigiPositionHandler for processing, as it has access to the rendering thread, and this class does not. The Position Response Data struct is declared in this class for tidyness, it is not used here. It is utilised by the DtCigiPositionHandler. All position requests for the connection are also stored here. The DtCigiConnection calls processContinuousPositionRequests to iterate through saved requests Motion tracker positional requests are not supported Geodetic requests for articulated parts are not supported.
Classes | |
| struct | DtPositionRequestData |
| struct | DtPositionResponseData |
Public Types | |
| enum | UpdateMode { OneShot = 0, Continuous } |
| enum | ObjectClass { Entity = 0, ArticulatedPart, View, ViewGroup, MotionTracker } |
| enum | CoordinateClass { Geodetic = 0, ParentEntity, Submodel } |
Public Member Functions | |
| virtual | ~DtPositionResponder () |
| virtual void | processContinuousPositionRequests () |
| virtual void | generatePositionResponse (DtPositionResponseData &responseDate) |
Public Attributes | |
| vrvSignalsLib::signal< void(DtPositionRequestData *)> | signal_positionCheckRequest |
Protected Types | |
| typedef std::pair< DtUniqueID, int > | PositionDataId |
| typedef std::map < PositionDataId, DtPositionRequestData > | PositionRequestsMap |
Protected Member Functions | |
| DtPositionResponder (DtCigiConnection &connection) | |
| void | processPositionRequest (CigiBasePositionReq &positionReq) |
| void | processPosReqV3 (CigiPositionReqV3 &posReq) |
| void | processPosReqV4 (CigiPositionReqV4 &posReq) |
| virtual void | sendPositionRequest (DtPositionRequestData &positionReq) |
Protected Attributes | |
| PositionRequestsMap | myPositionRequests |
| DtCigiConnection & | myConnection |
| DtSignalConnectionManager | myConnections |
Private Member Functions | |
| DtPositionResponder & | operator= (const DtPositionResponder &orig) |
| DtPositionResponder (const DtPositionResponder &orig) | |
Friends | |
| class | DtPositionResponderCreator |
|
protected |
Object ID & articulated part id Object ID = ViewID/ViewGrp ID when they are requested Entity requests with no required, artpartid = -1.
|
protected |
|
virtual |
Destructor/.
|
protected |
Constructor.
|
private |
(Unimplemented) COPY CTOR
|
virtual |
Iterates through position requests that are set to continuous.
|
virtual |
Makes a call to the DtCigiConnetion to send a position response. Converts any DtUnique entity IDs to CIGI Entity IDs, or DIS IDs if the connection object flag is checked.
|
protected |
Takes CIGI packet passes to version processing.
|
protected |
V3 Takes CIGI packet, sends response, adds to continuous request if needed.
|
protected |
V4 Takes CIGI packet, sends response, adds to continuous request if needed.
|
protectedvirtual |
Sends the position request to the DtPositionHandler by raising a signal_positionCheckRequest signal.
|
private |
(Unimplemented) Assignment Operator
|
friend |
| vrvSignalsLib::signal<void ( DtPositionRequestData* )> makVrv::DtPositionResponder::signal_positionCheckRequest |
Signal to Position Handler for processing.
|
protected |
|
protected |
|
protected |