VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
100  virtual void unHideEntity(const std::string& obsName);
101 
103  virtual void hideEntity(const std::string& obsName);
104 
105  //slots to connect to the entity listener
106  virtual void slot_entityRemoved(DtVrlinkEntityStateListener& listener);
107 
108  virtual CockpitAgentsMap::iterator
109  clearCockpitAgents(const std::string& obsName);
110 
111  protected:
112 
113  //protected variables
117  };
118  }
119 }
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtVrlinkEntityStateListener * myListener
Definition: DtGlStudioVisualizer.h:80
Visualizer responsible for displaying GLStudio cockpits as necessary.
Definition: DtGlStudioVisualizer.h:39
std::vector< DtOsgGlStudioCockpitAgent * > CockpitAgentList
Definition: DtGlStudioVisualizer.h:63
DtVrlinkConnection & mySimConn
Definition: DtGlStudioVisualizer.h:114
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:33
boost::unordered_map< std::string, CockpitDataBundle * > CockpitAgentsMap
Definition: DtGlStudioVisualizer.h:85
CockpitAgentsMap myCockpitAgentMap
Definition: DtGlStudioVisualizer.h:116
Internal class used for.
Definition: DtGlStudioVisualizer.h:67
Contains makVrv::DtVirtualBaseClass class.
CockpitAgentList myAgents
Definition: DtGlStudioVisualizer.h:78
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtSignalConnectionManager myConnections
Definition: DtGlStudioVisualizer.h:115
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Base class to provide boost signal/slot management.
AttributeUpdaterList myUpdaters
Definition: DtGlStudioVisualizer.h:79
Contains makVrv::DtUniqueID type.
#define DT_DLL_VRVGLSTUDIOVRLINK
Definition: DtGlStudioDIS.h:24
std::vector< std::pair< std::string, DtGlStudioVrlAttributeUpdater * > > AttributeUpdaterList
Definition: DtGlStudioVisualizer.h:64
Base protocol specific GL Studio attribute updater.
Definition: DtGlStudioVrlAttributeUpdater.h:33

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)