VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCloudLayerProcessor.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 DT_PROTOCOL_NAMESPACE
11 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
12 #endif
13 
14 #pragma once
15 
16 #include <vrvVrl/vrvVrl.h>
17 
18 #include <vrvCore/DtUniqueID.h>
19 
22 
23 #include <boost/unordered_map.hpp>
24 
25 namespace makVrv
26 {
27  namespace DT_PROTOCOL_NAMESPACE
28  {
29  class DtVrlinkEnvironmentalStateListenerInterface;
30  class DtCloudLayerStateListener;
31  class DtCloudLayerElement;
32  class DtVrlinkConnection;
33 
39  {
40  public:
41 
44 
46  virtual ~DtCloudLayerProcessor();
47 
48  typedef boost::unordered_map<DtUniqueID, DtCloudLayerElement* > CloudLayerMap;
49 
51  CloudLayerMap& cloudLayerMap();
53  const CloudLayerMap& cloudLayerMap() const;
55 
56  protected:
57 
59  virtual DtCloudLayerElement* createElement(DtCloudLayerStateListener& listener);
60 
63  virtual void slot_environmentalDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
64 
67  virtual void slot_environmentalToBeDestroyed(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
68 
69  private:
70 
73 
76 
78  DtCloudLayerProcessor& operator=(const DtCloudLayerProcessor& rhs);
79 
80  protected:
82 
84 
86  };
87  }
88 }
A DtCloudLayerProcessor listens for the creation of new cloud layer-type reflected objects (and their...
Definition: DtCloudLayerProcessor.h:38
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
CloudLayerMap myCloudLayerMap
Definition: DtCloudLayerProcessor.h:83
DtSignalConnectionManager mySignals
Definition: DtCloudLayerProcessor.h:85
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtVrlinkConnection & myConnection
Definition: DtCloudLayerProcessor.h:81
The CloudLayer state listener is a factory-created DtVrlinkTacticalGraphicStateListener. When a DtReflectedControlObject is discovered, this listener will be created. It provides the interface to the Control Object State Repository, extracting data on calls to update(); camparing old and new values; and raising a signal when the cloud layer is updated. Because of the way that Silverlining clouds need to managed and updated, it tracks three types of changes; changes to layer properties such as type, density, and size; changes to position (including altitude); and changes to the enabled state. A reference to each instance of DtCloudLayerStateListener is provide to each corresponding DtCloudLayerElement.
Definition: DtCloudLayerStateListener.h:42
Base class to provide boost signal/slot management.
Contains makVrv::DtUniqueID type.
The CloudLayer element is an object that manages the interface between the Cloud Layer State Listener...
Definition: DtCloudLayerElement.h:31
boost::unordered_map< DtUniqueID, DtCloudLayerElement * > CloudLayerMap
Definition: DtCloudLayerProcessor.h:48
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)