VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCigiPositionHandler.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
14 
15 #include <vrvCore/DtUniqueID.h>
16 #include <vrvCore/DtObserver.h>
17 
20 
21 #include <matrix/geodeticCoord.h>
22 #include <matrix/vlTaitBryan.h>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtCigiDriver;
28  class DtCigiConnection;
29  class DtOsgArticulatedModel;
30  class DtCoordinateSystem;
31 
41  {
42  public:
44 
46  virtual ~DtCigiPositionHandler();
47  protected:
49  DtCigiPositionHandler( DtDe& de, DtCigiConnection& connection );
50 
54  virtual void slot_onPositionRequest( DtPositionResponder::DtPositionRequestData* positionRequest );
55 
59  DtSceneObject* findSceneObject(const DtUniqueID& objectId );
60 
63  DtOsgArticulatedModel* findArticulatedModel( DtUniqueID modelId );
64 
69  virtual void setGeodeticPositionOrientationFromSceneObject( DtSceneObject& sceneObject,
70  DtGeodeticCoord& objectGeodCoord, DtTaitBryan& objectOrient);
71 
77  virtual void setGeodeticPositionOrientationFromObserver( DtObserver& observer,
78  DtGeodeticCoord& objectGeodCoord, DtTaitBryan& objectOrient );
79 
83  virtual void processObserverPositionRequest( DtPositionResponder::DtPositionRequestData* requestData );
84 
91  virtual void performPositionRequest( DtPositionResponder::DtPositionRequestData& positionReq );
92 
95  virtual void generatePositionResponse( DtPositionResponder::DtPositionRequestData* requestData,
96  DtVector positionVec, DtTaitBryan objectOrient );
97 
99  virtual void slot_coordinateSystemChanged();
100 
101  private:
103  DtCigiPositionHandler& operator=( const DtCigiPositionHandler& orig );
104 
107 
108  protected:
112 
115  DtCoordinateSystem* myCoordinateSystem = nullptr;
116  };
117 
121  {
122  public:
125 
127  virtual ~DtCigiPositionHandlerCreator();
128 
130  static DtCigiPositionHandlerCreator& instance( DtDe& de );
131 
133  virtual DtCigiPositionHandler* create( DtCigiConnection& connection ) const;
134 
135  protected:
137  };
138 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Struct for all Position Request data ParentID &amp; ArticulatedModelID = -1 when not in use...
Definition: DtPositionResponder.h:87
DtCigiConnection & myConnection
Definition: DtCigiPositionHandler.h:109
This class handles all of the position processing for Position Requests It receives signals from the ...
Definition: DtCigiPositionHandler.h:40
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:67
Contains DLL export macros.
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtObserver class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:57
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Base class to provide boost signal/slot management.
Contains makVrv::DtPositionResponderclass.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
Contains makVrv::DtUniqueID type.
DtSignalConnectionManager myConnections
Definition: DtCigiPositionHandler.h:111
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtDe & myDe
Definition: DtCigiPositionHandler.h:110
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
Creator class for the DtCigiPositionHandler.
Definition: DtCigiPositionHandler.h:120
DtDe & myDe
Definition: DtCigiPositionHandler.h:136

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)