VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtChannelManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtChannelManager.h,v $ $Revision: 1.35 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtChannelManager_H_
14 #define DtChannelManager_H_
15 
16 #include <vrvCore/vrvCore.h>
19 #include <boost/signals.hpp>
20 
21 #include <map>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtChannel;
27  class DtChannelConfiguration;
28  class DtWindow;
29  class DtAgentManager;
30  class DtChannelManagerSignaler;
31 
36  {
37 
38  protected:
39 
41  DtChannelManager(DtDe& anIG,DtWindow* window,
42  DtChannelConfigurations& channelConfigs);
43 
44  public:
45  typedef std::map<std::string,DtChannel*> ChannelMap;
46 
48  virtual ~DtChannelManager();
49 
54  virtual DtChannel& addChannel(const std::string& displayName, const std::string& windowName,
55  const DtChannelConfiguration& wc);
56 
58  virtual void destroyChannels();
59 
61  virtual void destroyChannel(const std::string& displayName, const std::string& windowName,
62  const std::string& channelName);
63 
65  virtual bool modifyChannel(const std::string& displayName, const std::string& windowName,
66  const std::string& oldChannelName, const DtChannelConfiguration& config);
67 
69 
70  DtChannel* findChannelByName(const std::string& name);
71  const DtChannel* findChannelByName(const std::string& name) const;
73 
75  virtual const ChannelMap& channels() const;
76 
78  virtual ChannelMap& channels();
79 
82  virtual bool tick();
83 
85  virtual void realizeChannels( const std::string& windowName );
86 
88  virtual void updateAllChannelProjections();
89 
91  virtual void setMaxPagedLODs( int maxPagedLODs )
92  {
93  }
94 
95  protected:
96 
98  virtual DtChannel* realizeConfiguration(DtChannelConfiguration&);
99 
105  };
106 
110  {
111  public:
113  static DtChannelManagerSignaler& instance(DtDe& anIG);
114 
116  virtual ~DtChannelManagerSignaler();
117 
119  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelCreated;
120 
122  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelToBeDestroyed;
123 
125  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelUpdated;
126 
127  protected:
129 
130  };
131 
132 
136  {
137  public:
139  static DtChannelManagerCreator& instance(DtDe& anIG);
140 
142  static void registerInstance(DtDe& anIG,DtChannelManagerCreator* anInstance);
143 
145  virtual DtChannelManager* create(DtDe& anIG,DtWindow* window,
146  DtChannelConfigurations& channelConfigs) = 0;
147  };
148 }
149 
150 #endif
151 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)