VR-Forces Developer's Guide
 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) 2025 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  bool mirrorMode;
67  };
68 
71  {
73  : xOffset(0.0f)
74  , yOffset(0.0f)
75  , zOffset(0.0f)
76  , roll(0.0f)
77  , pitch(0.0f)
78  , yaw(0.0f)
79  {};
80 
81  float xOffset;
82  float yOffset;
83  float zOffset;
84  float roll;
85  float pitch;
86  float yaw;
87  };
88 
91  {
93  : entityId(0)
94  , groupId(0)
95  , xOffsetEnabled(false)
96  , yOffsetEnabled(false)
97  , zOffsetEnabled(false)
98  , rollEnabled(false)
99  , pitchEnabled(false)
100  , yawEnabled(false)
101  , attachEnabled(false)
102  {};
103 
104 
105  DtUniqueID entityId;
106  int groupId;
115  };
116 
117  using DtViewGroup = std::set<int>;
118  using GroupIdToGroupMap = std::map<int, DtViewGroup>;
119  using ViewIdToPositionMap = std::map<int, DtViewControlPosition>;
120 
122 
124  virtual const ViewIdToPositionMap& viewIdToPositionMap() const;
126  virtual ViewIdToPositionMap& viewIdToPositionMap();
128 
130  virtual const GroupIdToGroupMap& groupIdToGroupMap() const;
132  virtual GroupIdToGroupMap& groupIdToGroupMap();
134 
136  virtual ~DtCigiViewManager();
137 
139  virtual void reset();
140 
142  virtual DtViewControlPosition viewControlPosition( int viewId, const DtViewControlAction& action );
143 
145  virtual void addViewToGroup( int viewId, int groupId );
146 
149  virtual void removeViewFromGroups( int viewId );
150 
152  virtual std::string viewIdKeyword( int viewId );
153 
157  virtual bool retrieveConfiguration( DtDe& de, int viewId, std::string& displayName,
158  std::string& windowName, std::string& channelName, DtChannelConfiguration& config );
159 
163  virtual int maxRenderOrder( DtDe& de, int viewId, std::string& displayName,
164  std::string& windowName );
165 
169  virtual DtObserver* findObserverFromCigiViewId( DtDe& de, int viewId );
170 
174  virtual DtChannel* findChannelFromCigiViewId( DtDe& de, int viewId );
175 
177  boost::signalslib::signal<void( int, DtViewDefinitionAction )>
179 
181  boost::signalslib::signal<void( int, DtViewControlAction )>
183 
185  virtual void getViewNames( DtDe& de, int viewId, std::string& displayName, std::string& windowName, std::string& channelName );
186 
189  DtCigiViewManager( const DtCigiViewManager& ) = delete;
190  DtCigiViewManager( DtCigiViewManager&& ) = delete;
191  DtCigiViewManager& operator=( const DtCigiViewManager& ) = delete;
192  DtCigiViewManager& operator=( DtCigiViewManager&& ) = delete;
194  protected:
196  DtCigiViewManager(DtCigiConnection& connection);
197 
201  virtual void slot_processViewDefinition( CigiBaseViewDef& viewDefinition );
202 
204  virtual void slot_viewControlReceived( CigiBaseViewCtrl& viewControl );
205 
206  protected:
209 
212  };
213 
217  {
218  public:
221 
223  virtual ~DtCigiViewManagerCreator();
224 
226  static DtCigiViewManagerCreator& instance( DtDe& de );
227 
229  static DtCigiViewManagerCreator& instance( DtCigiConnection& con );
230 
232  virtual DtCigiViewManagerCreator* clone();
233 
235  static void copyInstance( DtCigiConnection& con, DtDe& de );
236 
238  virtual DtCigiViewManager* create( DtCigiConnection& connection ) const;
239 
240  };
241 }
bool pitchEnabled
Definition: DtCigiViewManager.h:111
DtCigiConnection & myConnection
Definition: DtCigiViewManager.h:207
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool xOffsetEnabled
Definition: DtCigiViewManager.h:107
bool leftEnabled
Definition: DtCigiViewManager.h:58
float zOffset
Definition: DtCigiViewManager.h:83
Structure defines a view definition action.
Definition: DtCigiViewManager.h:49
bool yawEnabled
Definition: DtCigiViewManager.h:112
DtViewControlPosition position
Definition: DtCigiViewManager.h:114
std::set< int > DtViewGroup
Definition: DtCigiViewManager.h:117
std::map< int, DtViewGroup > GroupIdToGroupMap
Definition: DtCigiViewManager.h:118
bool yOffsetEnabled
Definition: DtCigiViewManager.h:108
float yOffset
Definition: DtCigiViewManager.h:82
DtSignalConnectionManager myCigiConnectionSignals
Definition: DtCigiViewManager.h:208
Creator class for the DtCigiViewManager.
Definition: DtCigiViewManager.h:216
boost::signalslib::signal< void(int, DtViewDefinitionAction)> signal_receivedViewDefinition
Emitted when a CIGI View definition is received.
Definition: DtCigiViewManager.h:178
DtViewControlAction()
Definition: DtCigiViewManager.h:92
bool rollEnabled
Definition: DtCigiViewManager.h:110
GroupIdToGroupMap myGroupIdToGroupMap
Definition: DtCigiViewManager.h:211
Contains DLL export macros.
bool zFarEnabled
Definition: DtCigiViewManager.h:56
ViewIdToPositionMap myViewIdToPositionMap
Definition: DtCigiViewManager.h:210
The abstract Channel Class.
Definition: DtChannel.h:35
A facade for a DtObserverObject.
Definition: DtObserver.h:38
Contains makVrv::DtVirtualBaseClass class.
int groupId
Definition: DtCigiViewManager.h:106
float bottom
Definition: DtCigiViewManager.h:65
Structure for the position of a view.
Definition: DtCigiViewManager.h:70
boost::signalslib::signal< void(int, DtViewControlAction)> signal_receivedViewControl
Emitted when a CIGI View Control is received.
Definition: DtCigiViewManager.h:182
float yaw
Definition: DtCigiViewManager.h:86
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:90
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
float pitch
Definition: DtCigiViewManager.h:85
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtViewControlPosition()
Definition: DtCigiViewManager.h:72
bool zNearEnabled
Definition: DtCigiViewManager.h:54
bool mirrorMode
Definition: DtCigiViewManager.h:66
std::string observerMode
Definition: DtCigiViewManager.h:53
Base class to provide boost signal/slot management.
std::map< int, DtViewControlPosition > ViewIdToPositionMap
Definition: DtCigiViewManager.h:119
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
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
bool attachEnabled
Definition: DtCigiViewManager.h:113
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:76
bool rightEnabled
Definition: DtCigiViewManager.h:60
float right
Definition: DtCigiViewManager.h:61
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
float roll
Definition: DtCigiViewManager.h:84
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:109

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)