VR-Forces 4.10 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) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
15 
17 
19 
20 #include <vl/dataInteraction.h>
21 
22 #include <boost/unordered_map.hpp>
23 #include <boost/function.hpp>
24 
25 #include <map>
26 
27 namespace vrvControlToolkit
28 {
29  struct DtRemoteGraphicSet_v1;
30 }
31 
32 namespace makVrv
33 {
34  class DtRemoteGraphicSetControllerAgent;
35 
36  namespace DT_PROTOCOL_NAMESPACE
37  {
38  class DtVrlinkRemoteGraphicStateListener;
39  class DtRemoteGraphicVisualizerSet;
40  class DtRemoteGraphicElement;
41  class DtVrlinkEnvironmentalStateListenerInterface;
42 
47  : public DtVirtualBaseClass
48  {
49  public:
50 
53 
55  static void registerInstance(DtVrlinkConnection& connection,
56  DtRemoteGraphicsProcessor* instance);
57 
59  static DtRemoteGraphicsProcessor* findInstance(DtVrlinkConnection& connection);
60 
62  virtual ~DtRemoteGraphicsProcessor();
63 
65  void remoteGraphicsSelectionChanged(const DtSelectionManager::IdSet& selected,
66  const DtSelectionManager::IdSet& deselected);
67 
69  std::vector<DtRemoteGraphicVisualizerSet*> findVisualizers(
70  const DtGlobalObjectDesignator& id);
71 
73  inline DtVrlinkRemoteGraphicStateListener* findListener( DtUniqueID id);
74 
76  void processInteraction(const DtDataInteraction& dataInter);
77 
81  virtual void setRemoteGraphicSet(const std::string& name, bool onOff);
82 
84  virtual bool remoteGraphicSetStatus(
85  const std::vector<std::string>& names) const;
86 
87  virtual void addRemoteGraphicSet(const std::string& name);
88 
89  virtual void removeRemoteGraphicSet(const std::string& name);
90 
91  virtual void addAttributeGroupTemplate(const std::string& groupName,
92  const std::string& templateName);
93 
94  virtual void removeAttributeGroupTemplate(const std::string& groupName,
95  const std::string& templateName);
96 
97  virtual void setAttributeGroupTemplateStatus(const std::string& groupName,
98  const std::string& templateName, bool onOff);
99 
100  boost::signalslib::signal<void ()> signal_layersChanged;
101 
102  protected:
103 
105  void onEnvironmentalDiscovered(DtVrlinkEnvironmentalStateListenerInterface& listener);
106 
108  void onEnvironmentalToBeDestroyed(DtVrlinkEnvironmentalStateListenerInterface& listener);
109 
110  virtual void getLayerNames(const std::string& name, std::vector<std::string>& names) const;
111 
112  virtual void getGroupAndTemplateNames(const std::string& name,
113  std::string& groupName, std::string& templateName);
114 
116  //View control functions. All functions are registered by default in
117  //the CTOR.
118  void processRemoteGraphicSetControl(const vrvControlToolkit::DtRemoteGraphicSet_v1* command);
120 
121  protected:
122 
123  typedef boost::unordered_map<DtUniqueID, DtVrlinkRemoteGraphicStateListener*>
125 
126  typedef boost::unordered_map<DtVrlinkRemoteGraphicStateListener*, DtRemoteGraphicElement*>
128 
129  typedef boost::unordered_map<std::string, DtRemoteGraphicElement*>
131 
132  typedef std::map<std::string, bool> GraphicSetStatusMap;
133 
140  DtRemoteGraphicSetControllerAgent* myRemoteGraphicSetAgent;
141  };
142 
143  }
144 }
DtSignalConnectionManager myConnections
Definition: DtRemoteGraphicsProcessor.h:135
Virtual base class.
Definition: DtVirtualBaseClass.h:19
RemoteGraphicElementMap myElementVisualizers
Definition: DtRemoteGraphicsProcessor.h:137
This class manages the display of Remote Graphics discovered via a connection.
Definition: DtRemoteGraphicsProcessor.h:46
Contains makVrv:DtSelectionManager class.
RemoteGraphicElementIdToListenerMap myElementIdToListenerMap
Definition: DtRemoteGraphicsProcessor.h:136
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
boost::unordered_map< std::string, DtRemoteGraphicElement * > GlobalIdToRemoteGraphicElementMap
Definition: DtRemoteGraphicsProcessor.h:130
Contains makVrv::DtVirtualBaseClass class.
GlobalIdToRemoteGraphicElementMap myGlobalIdToElementVisualizerMap
Definition: DtRemoteGraphicsProcessor.h:138
GraphicSetStatusMap myRemoteGraphicSetStatus
Definition: DtRemoteGraphicsProcessor.h:139
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::unordered_map< DtVrlinkRemoteGraphicStateListener *, DtRemoteGraphicElement * > RemoteGraphicElementMap
Definition: DtRemoteGraphicsProcessor.h:127
Contains makVrv::DtRemoteGraphicVisualizerSetclass.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::unordered_map< DtUniqueID, DtVrlinkRemoteGraphicStateListener * > RemoteGraphicElementIdToListenerMap
Definition: DtRemoteGraphicsProcessor.h:124
#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:140
std::map< std::string, bool > GraphicSetStatusMap
Definition: DtRemoteGraphicsProcessor.h:132
DtVrlinkConnection & myConnection
Definition: DtRemoteGraphicsProcessor.h:134
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:1176
boost::signalslib::signal< void()> signal_layersChanged
Definition: DtRemoteGraphicsProcessor.h:100

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)