VR-Forces 4.7 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::signal<void (makVrv::DtElementID)> signal_removed;
72 
74  boost::signal<void (const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*)> signal_updated;
75  boost::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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)