VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtChannelManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtChannelManager_H_
11 #define DtChannelManager_H_
12 
13 #include <vrvCore/vrvCore.h>
16 #include <vrvUtil/signalslib.h>
17 
18 #include <map>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtChannel;
24  class DtChannelConfiguration;
25  class DtWindow;
26  class DtAgentManager;
27  class DtChannelManagerSignaler;
28 
33  {
34 
35  protected:
36 
38  DtChannelManager(DtDe& anIG,DtWindow* window,
39  DtChannelConfigurations& channelConfigs);
40 
41  public:
42  typedef std::map<std::string,DtChannel*> ChannelMap;
43 
45  virtual ~DtChannelManager();
46 
51  virtual DtChannel& addChannel(const std::string& displayName, const std::string& windowName,
52  const DtChannelConfiguration& wc);
53 
55  virtual void destroyChannels();
56 
58  virtual void destroyChannel(const std::string& displayName, const std::string& windowName,
59  const std::string& channelName);
60 
62  virtual bool modifyChannel(const std::string& displayName, const std::string& windowName,
63  const std::string& oldChannelName, const DtChannelConfiguration& config);
64 
66  DtChannel* findChannelByName(const std::string& name);
68  const DtChannel* findChannelByName(const std::string& name) const;
70 
72  virtual const ChannelMap& channels() const;
73 
75  virtual ChannelMap& channels();
76 
79  virtual bool tick();
80 
82  virtual void realizeChannels( const std::string& windowName );
83 
85  virtual void updateAllChannelProjections();
86 
88  virtual void setMaxPagedLODs( int maxPagedLODs )
89  {
90  }
91 
92  protected:
93 
95  virtual DtChannel* realizeConfiguration(DtChannelConfiguration&);
96 
102  };
103 
107  {
108  public:
110  static DtChannelManagerSignaler& instance(DtDe& anIG);
111 
113  virtual ~DtChannelManagerSignaler();
114 
116  boost::signalslib::signal<void (DtChannelManager*, DtChannel*)> signal_channelCreated;
117 
119  boost::signalslib::signal<void (DtChannelManager*, DtChannel*)> signal_channelToBeDestroyed;
120 
122  boost::signalslib::signal<void (DtChannelManager*, DtChannel*)> signal_channelUpdated;
123 
124  protected:
126 
127  };
128 
129 
133  {
134  public:
136  static DtChannelManagerCreator& instance(DtDe& anIG);
137 
139  static void registerInstance(DtDe& anIG,DtChannelManagerCreator* anInstance);
140 
142  virtual DtChannelManager* create(DtDe& anIG,DtWindow* window,
143  DtChannelConfigurations& channelConfigs) = 0;
144  };
145 }
146 
147 #endif
148 
DtWindow * myWindow
Definition: DtChannelManager.h:99
Abstract Base class.
Definition: DtWindow.h:25
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtChannelManager.h:97
boost::signalslib::signal< void(DtChannelManager *, DtChannel *)> signal_channelUpdated
Signals when a channel is updated.
Definition: DtChannelManager.h:122
boost::signalslib::signal< void(DtChannelManager *, DtChannel *)> signal_channelToBeDestroyed
Signals when a channel is about to be destroyed.
Definition: DtChannelManager.h:119
Creator for a DtChannelManager.
Definition: DtChannelManager.h:132
ChannelMap myChannels
Definition: DtChannelManager.h:101
A class which contains the signals used by the channel manager classes.
Definition: DtChannelManager.h:106
The abstract Channel Class.
Definition: DtChannel.h:30
virtual void setMaxPagedLODs(int maxPagedLODs)
Deprecated - Refer to DtWindowManager::setMaxPagedLOD.
Definition: DtChannelManager.h:88
boost::signalslib::signal< void(DtChannelManager *, DtChannel *)> signal_channelCreated
Signals when a new channel is created.
Definition: DtChannelManager.h:116
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtChannelConfigurations & myChannelConfigurations
Definition: DtChannelManager.h:100
Base class for handling DtChannels.
Definition: DtChannelManager.h:32
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtChannelManagerSignaler & mySignaler
Definition: DtChannelManager.h:98
Contains makVrv::DtViewConfiguration class.
std::map< std::string, DtChannel * > ChannelMap
Definition: DtChannelManager.h:42
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)