VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtGlStudioVisualizer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #ifndef DT_PROTOCOL_NAMESPACE
13 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
14 #endif
15 
16 #include <vrvCore/DtUniqueID.h>
19 
20 #include <boost/unordered_map.hpp>
21 
22 #include <string>
23 #include <list>
24 
25 namespace makVrv
26 {
27  class DtOsgGlStudioCockpitAgent;
28  class DtModelDefinition;
29 
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32 
34  class DtVrlinkConnection;
35  class DtGlStudioVrlAttributeUpdater;
36 
40  public DtVirtualBaseClass
41  {
42  public:
45 
47  static void registerInstance(DtVrlinkConnection& conn,
48  DtGlStudioVisualizer* instance);
49 
50  static void unregisterInstance(DtVrlinkConnection& conn);
51 
53  static DtGlStudioVisualizer* findInstance(DtVrlinkConnection& conn);
54 
56  virtual ~DtGlStudioVisualizer();
57 
59  virtual void update();
60 
61  protected:
62 
63  typedef std::vector<DtOsgGlStudioCockpitAgent*> CockpitAgentList;
64  typedef std::vector<std::pair<std::string,DtGlStudioVrlAttributeUpdater*> > AttributeUpdaterList;
65 
68  {
69  public:
72 
73  void addAgent(DtOsgGlStudioCockpitAgent* agent);
74  void addUpdater(const std::string& name, DtGlStudioVrlAttributeUpdater* updater);
75  DtVrlinkEntityStateListener* findListener();
76  void setVisible(bool visible);
77 
81  };
82 
83  //holds the observers->agents/listeners
84  typedef boost::unordered_map<std::string, CockpitDataBundle*>
86 
88  void attachEntity(const DtUniqueID& id);
89  void detachEntity();
90 
92  virtual void realizeCockpit(const std::string& obsName, DtUniqueID id,
93  const std::string& modelDefinition = "");
94  virtual void unrealizeCockpit(const std::string& obsName);
95  virtual void enableCockpits(bool enable);
96  virtual void buildAttributeMap(const DtModelDefinition* def,
97  DtOsgGlStudioCockpitAgent* agent, CockpitDataBundle* bundle);
98 
99  //slots to connect to the entity listener
100  virtual void slot_entityRemoved(DtVrlinkEntityStateListener& listener);
101 
102  virtual CockpitAgentsMap::iterator
103  clearCockpitAgents(const std::string& obsName);
104 
105  protected:
106 
107  //protected variables
111  };
112  }
113 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)