VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRemoteGraphicsProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
16 #include <map>
17 #include <boost/unordered_map.hpp>
18 #include <boost/function.hpp>
19 
20 #include <vl/dataInteraction.h>
21 
22 namespace vrvControlToolkit
23 {
24  struct DtRemoteGraphicSet_v1;
25 }
26 
27 namespace makVrv
28 {
29  class DtRemoteGraphicSetControllerAgent;
30 
31  namespace DT_PROTOCOL_NAMESPACE
32  {
33  class DtVrlinkRemoteGraphicStateListener;
34  class DtRemoteGraphicVisualizerSet;
35  class DtRemoteGraphicElement;
36 
41  : public DtVirtualBaseClass
42  {
43  public:
44 
47 
49  static void registerInstance(DtVrlinkConnection& connection,
50  DtRemoteGraphicsProcessor* instance);
51 
53  static DtRemoteGraphicsProcessor* findInstance(DtVrlinkConnection& connection);
54 
56  virtual ~DtRemoteGraphicsProcessor();
57 
59  void remoteGraphicsSelectionChanged(const DtSelectionManager::IdSet& selected,
60  const DtSelectionManager::IdSet& deselected);
61 
63  std::vector<DtRemoteGraphicVisualizerSet*> findVisualizers(
64  const DtGlobalObjectDesignator& id);
65 
67  inline DtVrlinkRemoteGraphicStateListener* findListener( DtUniqueID id);
68 
70  void processInteraction(const DtDataInteraction& dataInter);
71 
75  virtual void setRemoteGraphicSet(const std::string& name, bool onOff);
76 
78  virtual bool remoteGraphicSetStatus(
79  const std::vector<std::string>& names) const;
80 
81  virtual void addRemoteGraphicSet(const std::string& name);
82 
83  virtual void removeRemoteGraphicSet(const std::string& name);
84 
85  virtual void addAttributeGroupTemplate(const std::string& groupName,
86  const std::string& templateName);
87 
88  virtual void removeAttributeGroupTemplate(const std::string& groupName,
89  const std::string& templateName);
90 
91  virtual void setAttributeGroupTemplateStatus(const std::string& groupName,
92  const std::string& templateName, bool onOff);
93 
94  boost::signal<void ()> signal_layersChanged;
95 
96  protected:
97 
99  void onEnvironmentalDiscovered(DtVrlinkEnvironmentalStateListenerInterface& listener);
100 
102  void onEnvironmentalToBeDestroyed(DtVrlinkEnvironmentalStateListenerInterface& listener);
103 
104  virtual void getLayerNames(const std::string& name, std::vector<std::string>& names) const;
105 
106  virtual void getGroupAndTemplateNames(const std::string& name,
107  std::string& groupName, std::string& templateName);
108 
110  //View control functions. All functions are registered by default in
111  //the CTOR.
112  void processRemoteGraphicSetControl(const vrvControlToolkit::DtRemoteGraphicSet_v1* command);
114 
115  protected:
116 
117  typedef boost::unordered_map<DtUniqueID, DtVrlinkRemoteGraphicStateListener*>
119 
120  typedef boost::unordered_map<DtVrlinkRemoteGraphicStateListener*, DtRemoteGraphicElement*>
122 
123  typedef boost::unordered_map<std::string, DtRemoteGraphicElement*>
125 
126  typedef std::map<std::string, bool> GraphicSetStatusMap;
127 
134  DtRemoteGraphicSetControllerAgent* myRemoteGraphicSetAgent;
135  };
136 
137  }
138 }
DtSignalConnectionManager myConnections
Definition: DtRemoteGraphicsProcessor.h:129
Virtual base class.
Definition: DtVirtualBaseClass.h:22
RemoteGraphicElementMap myElementVisualizers
Definition: DtRemoteGraphicsProcessor.h:131
This class manages the display of Remote Graphics discovered via a connection.
Definition: DtRemoteGraphicsProcessor.h:40
RemoteGraphicElementIdToListenerMap myElementIdToListenerMap
Definition: DtRemoteGraphicsProcessor.h:130
boost::signal< void()> signal_layersChanged
Definition: DtRemoteGraphicsProcessor.h:94
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
boost::unordered_map< std::string, DtRemoteGraphicElement * > GlobalIdToRemoteGraphicElementMap
Definition: DtRemoteGraphicsProcessor.h:124
Contains makVrv::DtVirtualBaseClass class.
GlobalIdToRemoteGraphicElementMap myGlobalIdToElementVisualizerMap
Definition: DtRemoteGraphicsProcessor.h:132
GraphicSetStatusMap myRemoteGraphicSetStatus
Definition: DtRemoteGraphicsProcessor.h:133
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
boost::unordered_map< DtVrlinkRemoteGraphicStateListener *, DtRemoteGraphicElement * > RemoteGraphicElementMap
Definition: DtRemoteGraphicsProcessor.h:121
Contains makVrv::DtRemoteGraphicVisualizerSetclass.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::unordered_map< DtUniqueID, DtVrlinkRemoteGraphicStateListener * > RemoteGraphicElementIdToListenerMap
Definition: DtRemoteGraphicsProcessor.h:118
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
DtRemoteGraphicSetControllerAgent * myRemoteGraphicSetAgent
Definition: DtRemoteGraphicsProcessor.h:134
std::map< std::string, bool > GraphicSetStatusMap
Definition: DtRemoteGraphicsProcessor.h:126
DtVrlinkConnection & myConnection
Definition: DtRemoteGraphicsProcessor.h:128
Contains DLL export macros.
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Show/hide Remote Graphic Sets or Remote Graphics Attribute templates.
Definition: vrvControlToolkitDataTypes.h:1135

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)