VR-Forces 4.1.1 Class Documentation
DtRemoteGraphicsProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrlinkRemoteGraphicVisualizer.h,v $ $Revision: 1.12 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvVrl/vrvVrl.h>
16 
19 #include <map>
20 #include <boost/unordered_map.hpp>
21 #include <boost/function.hpp>
22 
23 #include <vl/dataInter.h>
24 
25 namespace vrvControlToolkit
26 {
27  struct DtRemoteGraphicSet_v1;
28 }
29 
30 namespace makVrv
31 {
32  class DtRemoteGraphicSetControllerAgent;
33 
34  namespace DT_PROTOCOL_NAMESPACE
35  {
36  class DtVrlinkRemoteGraphicStateListener;
37  class DtRemoteGraphicVisualizerSet;
38  class DtRemoteGraphicElement;
39 
44  : public DtVirtualBaseClass
45  {
46  public:
47 
50 
52  static void registerInstance(DtVrlinkConnection& connection,
53  DtRemoteGraphicsProcessor* instance);
54 
56  static DtRemoteGraphicsProcessor* findInstance(DtVrlinkConnection& connection);
57 
59  virtual ~DtRemoteGraphicsProcessor();
60 
62  void remoteGraphicsSelectionChanged(const DtSelectionManager::IdSet& selected,
63  const DtSelectionManager::IdSet& deselected);
64 
66  std::vector<DtRemoteGraphicVisualizerSet*> findVisualizers(
67  const DtGlobalObjectDesignator& id);
68 
70  inline DtVrlinkRemoteGraphicStateListener* findListener( DtUniqueID id);
71 
73  void processInteraction(const DtDataInteraction& dataInter);
74 
78  virtual void setRemoteGraphicSet(const std::string& name, bool onOff);
79 
81  virtual bool remoteGraphicSetStatus(
82  const std::vector<std::string>& names) const;
83 
84  virtual void addRemoteGraphicSet(const std::string& name);
85 
86  virtual void removeRemoteGraphicSet(const std::string& name);
87 
88  virtual void addAttributeGroupTemplate(const std::string& groupName,
89  const std::string& templateName);
90 
91  virtual void removeAttributeGroupTemplate(const std::string& groupName,
92  const std::string& templateName);
93 
94  virtual void setAttributeGroupTemplateStatus(const std::string& groupName,
95  const std::string& templateName, bool onOff);
96 
97  boost::signal<void ()> signal_layersChanged;
98 
99  protected:
100 
102  void onEnvironmentalDiscovered(DtVrlinkEnvironmentalStateListenerInterface& listener);
103 
105  void onEnvironmentalToBeDestroyed(DtVrlinkEnvironmentalStateListenerInterface& listener);
106 
107  virtual void getLayerNames(const std::string& name, std::vector<std::string>& names) const;
108 
109  virtual void getGroupAndTemplateNames(const std::string& name,
110  std::string& groupName, std::string& templateName);
111 
113  //View control functions. All functions are registered by default in
114  //the CTOR.
115  void processRemoteGraphicSetControl(const vrvControlToolkit::DtRemoteGraphicSet_v1* command);
117 
118  protected:
119 
120  typedef boost::unordered_map<DtUniqueID, DtVrlinkRemoteGraphicStateListener*>
122 
123  typedef boost::unordered_map<DtVrlinkRemoteGraphicStateListener*, DtRemoteGraphicElement*>
125 
126  typedef boost::unordered_map<std::string, DtRemoteGraphicElement*>
128 
129  typedef std::map<std::string, bool> GraphicSetStatusMap;
130 
137  DtRemoteGraphicSetControllerAgent* myRemoteGraphicSetAgent;
138  };
139 
140  }
141 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)