VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)