VR-Forces 4.1 Class Documentation
DtGlStudioVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtGlStudioVisualizer.h,v $ $Revision: 1.6 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #ifndef DT_PROTOCOL_NAMESPACE
16 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
17 #endif
18 
20 #include <vrvCore/DtUniqueID.h>
22 #include <boost/unordered_map.hpp>
23 #include <string>
24 #include <list>
25 
26 namespace makVrv
27 {
28  class DtOsgGlStudioCockpitAgent;
29  class DtModelDefinition;
30 
31  namespace DT_PROTOCOL_NAMESPACE
32  {
33 
35  class DtVrlinkConnection;
36  class DtGlStudioVrlAttributeUpdater;
37 
41  public DtVirtualBaseClass
42  {
43  public:
46 
48  static void registerInstance(DtVrlinkConnection& conn,
49  DtGlStudioVisualizer* instance);
50 
51  static void unregisterInstance(DtVrlinkConnection& conn);
52 
54  static DtGlStudioVisualizer* findInstance(DtVrlinkConnection& conn);
55 
57  virtual ~DtGlStudioVisualizer();
58 
60  virtual void update();
61 
62  protected:
63 
64  typedef std::vector<DtOsgGlStudioCockpitAgent*> CockpitAgentList;
65  typedef std::vector<std::pair<std::string,DtGlStudioVrlAttributeUpdater*> > AttributeUpdaterList;
66 
69  {
70  public:
73 
74  void addAgent(DtOsgGlStudioCockpitAgent* agent);
75  void addUpdater(const std::string& name, DtGlStudioVrlAttributeUpdater* updater);
76  DtVrlinkEntityStateListener* findListener();
77  void setVisible(bool visible);
78 
82  };
83 
84  //holds the observers->agents/listeners
85  typedef boost::unordered_map<std::string, CockpitDataBundle*>
87 
89  void attachEntity(const DtUniqueID& id);
90  void detachEntity();
91 
93  virtual void realizeCockpit(const std::string& obsName, DtUniqueID id);
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 Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)