VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCigiViewManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 #include <vrvCore/DtUniqueID.h>
16 
17 #include <string>
18 #include <map>
19 #include <set>
20 
21 class CigiBaseViewCtrl;
22 class CigiBaseViewDef;
23 class CigiBaseCompCtrl;
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtObserver;
29  class DtChannel;
30  class DtChannelConfiguration;
31  class DtCigiConnection;
32 
37  {
38  public:
39 
41  {
42  CigiAttachTypeTether = 252,
43  CigiAttachTypeMimic = 253,
44  CigiAttachTypeFollow = 254,
45  CigiAttachTypeTrack = 255
46  };
47 
50  {
51  int groupId;
52  bool reorder;
53  std::string observerMode;
55  float zNear;
57  float zFar;
59  float left;
61  float right;
62  bool topEnabled;
63  float top;
65  float bottom;
66  };
67 
70  {
72  : xOffset(0.0f)
73  , yOffset(0.0f)
74  , zOffset(0.0f)
75  , roll(0.0f)
76  , pitch(0.0f)
77  , yaw(0.0f)
78  {};
79 
80  float xOffset;
81  float yOffset;
82  float zOffset;
83  float roll;
84  float pitch;
85  float yaw;
86  };
87 
90  {
92  : entityId(0)
93  , groupId(0)
94  , xOffsetEnabled(false)
95  , yOffsetEnabled(false)
96  , zOffsetEnabled(false)
97  , rollEnabled(false)
98  , pitchEnabled(false)
99  , yawEnabled(false)
100  {};
101 
102 
103  DtUniqueID entityId;
104  int groupId;
112  };
113 
114  typedef std::set<int> DtViewGroup;
115  typedef std::map<int, DtViewGroup> GroupIdToGroupMap;
116  typedef std::map<int, DtViewControlPosition> ViewIdToPositionMap;
117 
119 
120 
122  virtual const ViewIdToPositionMap& viewIdToPositionMap() const;
124  virtual ViewIdToPositionMap& viewIdToPositionMap();
126 
128  virtual const GroupIdToGroupMap& groupIdToGroupMap() const;
130  virtual GroupIdToGroupMap& groupIdToGroupMap();
132 
134  virtual ~DtCigiViewManager();
135 
137  virtual DtViewControlPosition viewControlPosition( int viewId, const DtViewControlAction& action );
138 
140  virtual void addViewToGroup( int viewId, int groupId );
141 
143  virtual std::string viewIdKeyword( int viewId );
144 
148  virtual bool retrieveConfiguration( DtDe& de, int viewId, std::string& displayName,
149  std::string& windowName, std::string& channelName, DtChannelConfiguration& config );
150 
154  virtual int maxRenderOrder( DtDe& de, int viewId, std::string& displayName,
155  std::string& windowName );
156 
160  virtual DtObserver* findObserverFromCigiViewId( DtDe& de, int viewId );
161 
165  virtual DtChannel* findChannelFromCigiViewId( DtDe& de, int viewId );
166 
168  boost::signalslib::signal<void( int, DtViewDefinitionAction )>
170 
172  boost::signalslib::signal<void( int, DtViewControlAction )>
174 
176  virtual void getViewNames( DtDe& de, int viewId, std::string& displayName, std::string& windowName, std::string& channelName );
177  protected:
179  DtCigiViewManager(DtCigiConnection& connection);
180 
184  virtual void slot_processViewDefinition( CigiBaseViewDef& viewDefinition );
185 
187  virtual void slot_viewControlReceived( CigiBaseViewCtrl& viewControl );
188 
189  private:
191  DtCigiViewManager( const DtCigiViewManager& orig );
192 
194  DtCigiViewManager& operator=( DtCigiViewManager& rhs );
195  protected:
198 
201  };
202 
206  {
207  public:
210 
212  virtual ~DtCigiViewManagerCreator();
213 
215  static DtCigiViewManagerCreator& instance( DtDe& de );
216 
218  static DtCigiViewManagerCreator& instance( DtCigiConnection& con );
219 
221  DtCigiViewManagerCreator* clone();
222 
224  static void copyInstance( DtCigiConnection& con, DtDe& de );
225 
227  virtual DtCigiViewManager* create( DtCigiConnection& connection ) const;
228 
229  };
230 }
bool pitchEnabled
Definition: DtCigiViewManager.h:109
DtCigiConnection & myConnection
Definition: DtCigiViewManager.h:196
Virtual base class.
Definition: DtVirtualBaseClass.h:19
bool xOffsetEnabled
Definition: DtCigiViewManager.h:105
bool leftEnabled
Definition: DtCigiViewManager.h:58
float zOffset
Definition: DtCigiViewManager.h:82
Structure defines a view definition action.
Definition: DtCigiViewManager.h:49
bool yawEnabled
Definition: DtCigiViewManager.h:110
std::map< int, DtViewGroup > GroupIdToGroupMap
Definition: DtCigiViewManager.h:115
DtViewControlPosition position
Definition: DtCigiViewManager.h:111
bool yOffsetEnabled
Definition: DtCigiViewManager.h:106
float yOffset
Definition: DtCigiViewManager.h:81
DtSignalConnectionManager myCigiConnectionSignals
Definition: DtCigiViewManager.h:197
Creator class for the DtCigiViewManager.
Definition: DtCigiViewManager.h:205
boost::signalslib::signal< void(int, DtViewDefinitionAction)> signal_receivedViewDefinition
Emitted when a CIGI View definition is received.
Definition: DtCigiViewManager.h:169
std::set< int > DtViewGroup
Definition: DtCigiViewManager.h:114
DtViewControlAction()
Definition: DtCigiViewManager.h:91
bool rollEnabled
Definition: DtCigiViewManager.h:108
GroupIdToGroupMap myGroupIdToGroupMap
Definition: DtCigiViewManager.h:200
Contains DLL export macros.
bool zFarEnabled
Definition: DtCigiViewManager.h:56
ViewIdToPositionMap myViewIdToPositionMap
Definition: DtCigiViewManager.h:199
The abstract Channel Class.
Definition: DtChannel.h:30
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
int groupId
Definition: DtCigiViewManager.h:104
float bottom
Definition: DtCigiViewManager.h:65
Structure for the position of a view.
Definition: DtCigiViewManager.h:69
boost::signalslib::signal< void(int, DtViewControlAction)> signal_receivedViewControl
Emitted when a CIGI View Control is received.
Definition: DtCigiViewManager.h:173
float yaw
Definition: DtCigiViewManager.h:85
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float top
Definition: DtCigiViewManager.h:63
float zNear
Definition: DtCigiViewManager.h:55
Structure for a view control action.
Definition: DtCigiViewManager.h:89
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:57
float pitch
Definition: DtCigiViewManager.h:84
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtViewControlPosition()
Definition: DtCigiViewManager.h:71
bool zNearEnabled
Definition: DtCigiViewManager.h:54
std::string observerMode
Definition: DtCigiViewManager.h:53
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
float left
Definition: DtCigiViewManager.h:59
Contains makVrv::DtUniqueID type.
int groupId
Definition: DtCigiViewManager.h:51
bool bottomEnabled
Definition: DtCigiViewManager.h:64
bool topEnabled
Definition: DtCigiViewManager.h:62
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool rightEnabled
Definition: DtCigiViewManager.h:60
float right
Definition: DtCigiViewManager.h:61
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
std::map< int, DtViewControlPosition > ViewIdToPositionMap
Definition: DtCigiViewManager.h:116
float roll
Definition: DtCigiViewManager.h:83
This class manages mapping between CIGI views and VRV observers / channels.
Definition: DtCigiViewManager.h:36
CIGI_GROUP_ATTACH_TYPE
Definition: DtCigiViewManager.h:40
float zFar
Definition: DtCigiViewManager.h:57
bool reorder
Definition: DtCigiViewManager.h:52
bool zOffsetEnabled
Definition: DtCigiViewManager.h:107

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)