VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCigiViewController.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2019 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
14 #include <vrvCore/DtUniqueID.h>
16 
19 
20 #include <string>
21 #include <map>
22 #include <set>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtChannelConfiguration;
28 
29  class DtCigiDriver;
30  class DtCigiConnection;
31  class DtMasterSensorController;
32 
36  {
37  public:
38 
40  {
41  CigiAttachTypeTether = 252,
42  CigiAttachTypeMimic = 253,
43  CigiAttachTypeFollow = 254,
44  CigiAttachTypeTrack = 255
45  };
46 
49  {
50  int groupId;
51  std::string observerMode;
53  float zNear;
55  float zFar;
57  float left;
59  float right;
60  bool topEnabled;
61  float top;
63  float bottom;
64  };
65 
68  {
69  float xOffset;
70  float yOffset;
71  float zOffset;
72  float roll;
73  float pitch;
74  float yaw;
75  };
76 
79  {
81  int groupId;
87  bool yawEnabled;
89  };
90 
92 
93  typedef std::set<int> DtViewGroup;
94  typedef std::map<int, DtViewGroup> GroupIdToGroupMap;
95  typedef std::map<int, DtViewControlPosition> ViewIdToPositionMap;
96 
98  virtual ~DtCigiViewController();
99 
101  virtual std::string viewIdKeyword(int viewId);
102 
104  virtual const ViewIdToPositionMap& viewIdToPositionMap() const;
106  virtual ViewIdToPositionMap& viewIdToPositionMap();
108 
110  virtual const GroupIdToGroupMap& groupIdToGroupMap() const;
112  virtual GroupIdToGroupMap& groupIdToGroupMap();
114 
116  virtual bool retrieveConfiguration(int viewId, std::string& displayName,
117  std::string& windowName, std::string& channelName, DtChannelConfiguration& config);
118  protected:
119 
121  DtCigiViewController(DtDe& de, DtCigiConnection& connection);
122 
124  virtual void modifyConfiguration(const std::string& displayName,
125  const std::string& windowName, const std::string& channelName,
126  const DtChannelConfiguration& config);
127 
128 
130  virtual void attachObserver(int viewId, const DtViewControlAction& action,
132 
134  virtual DtViewControlPosition viewControlPosition(int viewId, const DtViewControlAction& action);
135 
137  virtual void addViewToGroup(int viewId, int groupId);
138 
140  virtual void slot_onViewDefinitionReceived(int viewId,
142 
144  virtual void performSetViewDefinition(int viewId,
146 
148  virtual void slot_onViewControlReceived(int viewId,
150 
152  virtual void performSetViewControl(int viewId,
154 
156  virtual void slot_onViewMagnificationReceived(int viewId, float magValue, bool viewIsGroup);
157 
159  virtual void performSetViewMagnification(int viewId, float magValue, bool viewIsGroup);
160 
162  virtual void slot_onLodScaleReceived(int viewId, float scale, bool viewIsGroup);
163 
165  virtual void performSetLodScale(int viewId, float scale, bool viewIsGroup);
166 
170  virtual void slot_onAttachViewToArtPartReceived( int viewId, int groupId,
171  DtUniqueID entityId, int artPartId );
172 
174  virtual void performAttachViewToArtPart( int viewId, int groupId,
175  DtUniqueID entityId, int artPartId );
176 
180  virtual void slot_onSensorControlRequest( DtSensorResponder::DtSensorRequestData* request );
181 
183  virtual void performSensorControlRequest( DtSensorResponder::DtSensorRequestData& request );
184 
185  protected:
186 
190 
193 
196  };
197 
201  {
202  public:
205 
207  virtual ~DtCigiViewControllerCreator();
208 
210  static DtCigiViewControllerCreator& instance( DtDe& de );
211 
213  virtual DtCigiViewController* create( DtCigiConnection& connection ) const;
214 
215  protected:
217  };
218 }
219 
bool rightEnabled
Definition: DtCigiViewController.h:58
Contains makVrv::DtSensorResponder class.
DtMasterSensorController * myMasterSensorController
This can only be used from the render thread!
Definition: DtCigiViewController.h:192
Virtual base class.
Definition: DtVirtualBaseClass.h:22
int groupId
Definition: DtCigiViewController.h:50
bool xOffsetEnabled
Definition: DtCigiViewController.h:82
DtDe & myDe
Definition: DtCigiViewController.h:216
DtCigiConnection & myCigiConnection
Definition: DtCigiViewController.h:188
GroupIdToGroupMap myGroupIdToGroupMap
Definition: DtCigiViewController.h:195
float zNear
Definition: DtCigiViewController.h:53
DtSignalConnectionManager myConnections
Definition: DtCigiViewController.h:189
A DtCigiViewControl receives messages from the DtCigiConnection and actually changes the channel sett...
Definition: DtCigiViewController.h:35
float pitch
Definition: DtCigiViewController.h:73
bool pitchEnabled
Definition: DtCigiViewController.h:86
float yaw
Definition: DtCigiViewController.h:74
Creator class for the DtCigiViewController.
Definition: DtCigiViewController.h:200
float bottom
Definition: DtCigiViewController.h:63
bool zFarEnabled
Definition: DtCigiViewController.h:54
Contains DLL export macros.
bool yOffsetEnabled
Definition: DtCigiViewController.h:83
Structure for the position of a view.
Definition: DtCigiViewController.h:67
DtUniqueID entityId
Definition: DtCigiViewController.h:80
float roll
Definition: DtCigiViewController.h:72
bool topEnabled
Definition: DtCigiViewController.h:60
float yOffset
Definition: DtCigiViewController.h:70
bool zNearEnabled
Definition: DtCigiViewController.h:52
Contains makVrv::DtVirtualBaseClass class.
bool zOffsetEnabled
Definition: DtCigiViewController.h:84
std::string observerMode
Definition: DtCigiViewController.h:51
Contains makVrv::DtObserverObject class.
Structure defines a view definition action.
Definition: DtCigiViewController.h:48
int groupId
Definition: DtCigiViewController.h:81
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtViewControlPosition position
Definition: DtCigiViewController.h:88
bool leftEnabled
Definition: DtCigiViewController.h:56
std::map< int, DtViewGroup > GroupIdToGroupMap
Definition: DtCigiViewController.h:94
float top
Definition: DtCigiViewController.h:61
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:56
bool bottomEnabled
Definition: DtCigiViewController.h:62
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
float zFar
Definition: DtCigiViewController.h:55
std::map< int, DtViewControlPosition > ViewIdToPositionMap
Definition: DtCigiViewController.h:95
std::set< int > DtViewGroup
Definition: DtCigiViewController.h:93
Structure for a view control action.
Definition: DtCigiViewController.h:78
Base class to provide boost signal/slot management.
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
Contains makVrv::DtUniqueID type.
bool rollEnabled
Definition: DtCigiViewController.h:85
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtDe & myDe
Definition: DtCigiViewController.h:187
float right
Definition: DtCigiViewController.h:59
Main thread controller used to create, destroy, and modify sensors.
Definition: DtMasterSensorController.h:25
ViewIdToPositionMap myViewIdToPositionMap
Definition: DtCigiViewController.h:194
bool yawEnabled
Definition: DtCigiViewController.h:87
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
Structure containing the data of the processed inbound sensor control packet.
Definition: DtSensorResponder.h:77
CIGI_GROUP_ATTACH_TYPE
Definition: DtCigiViewController.h:39
float zOffset
Definition: DtCigiViewController.h:71
float left
Definition: DtCigiViewController.h:57
float xOffset
Definition: DtCigiViewController.h:69
Definition: DtObserverObject.h:39
AttachType
Definition: DtObserverObject.h:36

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)