VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cloudLayerManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrvUtil/DtUnicode.h>
16 #include <vrvCore/DtStateView.h>
17 #include <vrvUtil/signalslib.h>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtSimObjectEntry;
27  struct DtVrlinkSimulatedBaseState;
28 }
29 
30 namespace makVrf
31 {
32  struct DtVrlinkSimulatedEnvironmentProcess;
33  struct DtVrlinkSimulatedCloudLayerState;
34 
37  {
38  public:
39  typedef std::map<makVrv::DtElementID, makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*> CloudLayers;
40 
41  public:
44 
46  virtual ~DtCloudLayerManager();
47 
49  static DtCloudLayerManager& instance(makVrv::DtDe& de);
50 
52  static void registerInstance(makVrv::DtDe&, DtCloudLayerManager*);
53 
54  virtual const CloudLayers& cloudLayers() const
55  {
56  return myCloudLayers;
57  }
58 
60  virtual void setShowCloudLayers(bool);
61  virtual bool showCloudLayers() const;
62 
63  virtual void addCloudLayerTypeMapping(int, const makVrv::DtUnicode&);
64  virtual makVrv::DtUnicode cloudLayerMapping(int) const;
65  virtual const std::map<int, makVrv::DtUnicode>& cloudLayerMappings() const;
66 
67  virtual bool isCloudLayer(makVrv::DtUniqueID) const;
68 
69  public:
71  boost::signals2::signal<void (makVrv::DtElementID)> signal_removed;
72 
74  boost::signals2::signal<void (const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*)> signal_updated;
75  boost::signals2::signal<void (const makVrv::DtStateView<DtVrlinkSimulatedCloudLayerState>*)> signal_cloudLayerUpdated;
76 
77  protected:
79  virtual void addIfCloudLayer(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
80 
81  virtual void cloudLayerAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
82  virtual void cloudLayerRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
83 
85  virtual void initExistingCloudLayers();
86 
87  virtual void slot_onCloudLayerUpdated(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
88  virtual void slot_onCloudLayerStateUpdated(const makVrv::DtStateView<DtVrlinkSimulatedCloudLayerState>* s);
89 
90  protected:
93 
94  typedef std::map<makVrv::DtUniqueID, makVrv::DtSignalConnectionManager*> CloudLayerConnections;
96 
98  std::map<int, makVrv::DtUnicode> myCloudLayerMappings;
99  };
100 }
The cloud layer manager will keep track of all the cloud layers in the system.
Definition: cloudLayerManager.h:36
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
makVrv::DtDe & myDe
Definition: cloudLayerManager.h:91
boost::signals2::signal< void(makVrv::DtElementID)> signal_removed
Signal sent when the cloud layer area is removed.
Definition: cloudLayerManager.h:71
makVrv::DtSignalConnectionManager myConnectionManager
Definition: cloudLayerManager.h:97
CloudLayers myCloudLayers
Definition: cloudLayerManager.h:92
Contains makVrv::DtStateView class.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Contains makVrv::DtObserverSettingsManager class.
std::map< int, makVrv::DtUnicode > myCloudLayerMappings
Definition: cloudLayerManager.h:98
Contains makVrv::DtVirtualBaseClass class.
The declaration of the makArchives::DtEnvironmentRecord class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
CloudLayerConnections myCloudLayerConnections
Definition: cloudLayerManager.h:95
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
std::map< makVrv::DtUniqueID, makVrv::DtSignalConnectionManager * > CloudLayerConnections
Definition: cloudLayerManager.h:94
Base class to provide boost signal/slot management.
virtual const CloudLayers & cloudLayers() const
Definition: cloudLayerManager.h:54
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::map< makVrv::DtElementID, makVrv::DtStateView< DtVrlinkSimulatedEnvironmentProcess > * > CloudLayers
Definition: cloudLayerManager.h:39

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)