VR-Forces 5.0.2 Developer's Guide
 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) 2021 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
15 
16 #include <vrvCore/DtUniqueID.h>
18 
21 
22 #include <string>
23 #include <map>
24 #include <set>
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtChannelConfiguration;
30 
31  class DtCigiDriver;
32  class DtCigiConnection;
33  class DtMasterSensorController;
34 
38  {
39  public:
41 
43  virtual ~DtCigiViewController();
44 
45 
46  protected:
47 
49  DtCigiViewController(DtDe& de, DtCigiConnection& connection);
50 
52  virtual void modifyConfiguration(const std::string& displayName,
53  const std::string& windowName, const std::string& channelName,
54  const DtChannelConfiguration& config);
55 
57  virtual void attachObserver(int viewId, const DtCigiViewManager::DtViewControlAction& action,
59 
61  virtual void slot_onViewDefinitionReceived(int viewId,
63 
65  virtual void performSetViewDefinition(int viewId,
67 
69  virtual void slot_onViewControlReceived(int viewId, DtCigiViewManager::DtViewControlAction action );
70 
72  virtual void performSetViewControl(int viewId, const DtCigiViewManager::DtViewControlAction& action );
73 
75  virtual void slot_onViewMagnificationReceived(int viewId, float magValue);
76 
78  virtual void performSetViewMagnification(int viewId, float magValue);
79 
81  virtual void slot_onLodScaleReceived(int viewId, float scale);
82 
84  virtual void performSetLodScale(int viewId, float scale);
85 
89  virtual void slot_onAttachViewToArtPartReceived( int viewId, DtCigiViewManager::DtViewControlAction action, int artPartId );
90 
92  virtual void performAttachViewToArtPart( int viewId, DtCigiViewManager::DtViewControlAction action, int artPartId );
93 
97  virtual void slot_onSensorControlRequest( DtSensorResponder::DtSensorRequestData* request );
98 
100  virtual void performSensorControlRequest( DtSensorResponder::DtSensorRequestData& request );
101 
105  virtual void slot_channelEnabledReceived( int viewId, bool channelOn );
106 
108  virtual void performChannelEnabledChange( int viewId, bool channelOn );
109  protected:
110 
114 
117 
118  // Track what views are attached to an entity; multiple observers can
119  // be attached to the same entity, so a multimap is used
120 
121  // The first int the the view id attached to the entity. The second is the group id.
122  // which is used to determine the attach type
123  struct AttachData
124  {
125  int viewId;
126  int groupId;
128  };
129 
130  typedef std::multimap<DtUniqueID, AttachData> AttachedEntityToViewIDsMap;
131 
132  typedef std::pair<AttachedEntityToViewIDsMap::iterator,
133  AttachedEntityToViewIDsMap::iterator> RangeIterAttachedViews;
134 
135  typedef std::pair<AttachedEntityToViewIDsMap::const_iterator,
136  AttachedEntityToViewIDsMap::const_iterator> ConstRangeIterAttachedViews;
137 
139 
140  };
141 
145  {
146  public:
149 
151  virtual ~DtCigiViewControllerCreator();
152 
154  static DtCigiViewControllerCreator& instance( DtDe& de );
155 
157  virtual DtCigiViewController* create( DtCigiConnection& connection ) const;
158 
159  protected:
161  };
162 }
163 
Contains makVrv::DtSensorResponder class.
DtMasterSensorController * myMasterSensorController
This can only be used from the render thread!
Definition: DtCigiViewController.h:116
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtCigiViewController.h:160
AttachedEntityToViewIDsMap myAttachedEntityToViewIDsMap
Definition: DtCigiViewController.h:138
DtCigiConnection & myCigiConnection
Definition: DtCigiViewController.h:112
Structure defines a view definition action.
Definition: DtCigiViewManager.h:49
DtSignalConnectionManager myConnections
Definition: DtCigiViewController.h:113
A DtCigiViewControl receives messages from the DtCigiConnection and actually changes the channel sett...
Definition: DtCigiViewController.h:37
Creator class for the DtCigiViewController.
Definition: DtCigiViewController.h:144
Contains makVrv::DtCigiViewManager class.
Contains DLL export macros.
Definition: DtCigiViewController.h:123
int viewId
Definition: DtCigiViewController.h:125
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtObserverObject class.
int groupId
Definition: DtCigiViewController.h:126
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Structure for a view control action.
Definition: DtCigiViewManager.h:89
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:57
std::pair< AttachedEntityToViewIDsMap::const_iterator, AttachedEntityToViewIDsMap::const_iterator > ConstRangeIterAttachedViews
Definition: DtCigiViewController.h:136
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
int artPartId
Definition: DtCigiViewController.h:127
Contains makVrv::DtUniqueID type.
std::pair< AttachedEntityToViewIDsMap::iterator, AttachedEntityToViewIDsMap::iterator > RangeIterAttachedViews
Definition: DtCigiViewController.h:133
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:70
DtDe & myDe
Definition: DtCigiViewController.h:111
Main thread controller used to create, destroy, and modify sensors.
Definition: DtMasterSensorController.h:25
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
std::multimap< DtUniqueID, AttachData > AttachedEntityToViewIDsMap
Definition: DtCigiViewController.h:130
Structure containing the data of the processed inbound sensor control packet. These packets are sent ...
Definition: DtSensorResponder.h:67
Definition: DtObserverObject.h:39
AttachType
Definition: DtObserverObject.h:36

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)