VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDynamicTerrainElementProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
14 #include <vrvCore/DtUniqueID.h>
15 
17 
18 #include <boost/unordered_map.hpp>
19 #include <vrvUtil/signalslib.h>
20 
21 #if 0
22 // temporary definitions to make intellisense work
23 //#define DT_PROTOCOL_NAMESPACE vrvDIS
24 //#define DtDIS 1
25 #define DT_PROTOCOL_NAMESPACE vrvHla13
26 #define DtHLA 1
27 #define DL_DLL_IGCONVRLINK __declspec ( dllexport )
28 #endif
29 
30 #include <vl/globalObjectDesignator.h>
31 
32 #ifndef DT_PROTOCOL_NAMESPACE
33 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
34 #endif
35 
36 namespace makVrv
37 {
38  namespace DT_PROTOCOL_NAMESPACE
39  {
40  class DtDynamicTerrainElement;
41  class DtDynamicTerrainExistenceListener;
42  class DtVrlinkConnection;
43  class DtDynamicTerrainStateListener;
44 
53  {
54  private:
55  // No default constructor
57 
58  //Not copyable
60 
61  //Not assignable
63 
64  public:
67 
70  static void registerInstance(DtVrlinkConnection& conn,
72 
74  static DtDynamicTerrainElementProcessor* findInstance(DtVrlinkConnection& conn);
75 
78 
80  DtDynamicTerrainElement* findElement( const DtElementID& elementId );
81 
83  DtDynamicTerrainElement* findElement( const DtGlobalObjectDesignator& id );
84 
85  public:
87  boost::signalslib::signal<void (DtDynamicTerrainElement*)> signal_elementCreated;
88 
90  boost::signalslib::signal<void (DtDynamicTerrainElement*)> signal_elementAboutToBeDestroyed;
91 
92  protected:
93 
95  virtual void onDynamicTerrainElementDiscovered(DtDynamicTerrainStateListener& listener);
96 
98  virtual void onDynamicTerrainElementToBeDestroyed(DtDynamicTerrainStateListener& listener);
99 
102  virtual void createElement(DtDynamicTerrainStateListener&);
103 
104  protected:
105 
106  typedef boost::unordered_map<DtElementID, DtDynamicTerrainElement*>
108  typedef boost::unordered_map<std::string, DtDynamicTerrainElement*>
110 
113 
115  };
116  }
117 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtVrlinkConnection & myConnection
Definition: DtDynamicTerrainElementProcessor.h:114
The DtDynamicTerrainElementProcessor will create and connect to the DtDynamicTerrainExistenceListener...
Definition: DtDynamicTerrainElementProcessor.h:52
boost::unordered_map< DtElementID, DtDynamicTerrainElement * > DynamicTerrainElementMap
Definition: DtDynamicTerrainElementProcessor.h:107
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
boost::unordered_map< std::string, DtDynamicTerrainElement * > GlobalIdToDynamicTerrainElementMap
Definition: DtDynamicTerrainElementProcessor.h:109
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
DynamicTerrainElementMap myElements
Definition: DtDynamicTerrainElementProcessor.h:111
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(DtDynamicTerrainElement *)> signal_elementCreated
Signal raised when a DtDynamicTerrainElement is created.
Definition: DtDynamicTerrainElementProcessor.h:87
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
A single dynamic terrain element.
Definition: DtDynamicTerrainElement.h:56
boost::signalslib::signal< void(DtDynamicTerrainElement *)> signal_elementAboutToBeDestroyed
Signal raised when a DtDynamicTerrainElement is about to be destroyed.
Definition: DtDynamicTerrainElementProcessor.h:90
GlobalIdToDynamicTerrainElementMap myElementsByGlobalId
Definition: DtDynamicTerrainElementProcessor.h:112
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
DynamicTerrain state listener.
Definition: DtDynamicTerrainStateListener.h:49

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)