VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDynamicTerrainElement.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 #include <vrvVrl/DtVrlinkElement.h>
14 
15 #include <vrvCore/DtElementEntry.h>
16 
18 #include <vrvUtil/DtUnicode.h>
19 
20 #include <vector>
21 
22 #include <boost/unordered_map.hpp>
23 
25 class DtTerrainGeometry;
26 class DtKeyValuePairList;
27 
28 #if 0
29 // temporary definitions to make intellisense work
30 #define DT_PROTOCOL_NAMESPACE vrvDIS
31 #define DtDIS 1
32 //#define DT_PROTOCOL_NAMESPACE vrvHla13
33 //#define DtHLA 1
34 #define DL_DLL_IGCONVRLINK __declspec ( dllexport )
35 #endif
36 
37 #ifndef DT_PROTOCOL_NAMESPACE
38 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
39 #endif
40 
41 namespace makVrv
42 {
43  class DtDynamicTerrainObjectAgent;
44 
45  namespace DT_PROTOCOL_NAMESPACE
46  {
47  class DtDynamicTerrainStateListener;
48  class DtVrlinkConnection;
49 
57  {
58  public:
59  // No default CTOR
60  DtDynamicTerrainElement() = delete;
61 
62  //Not copyable
64 
65  //Not assignable
66  DtDynamicTerrainElement& operator=(const DtDynamicTerrainElement& copy) = delete;
67 
71 
73  virtual ~DtDynamicTerrainElement();
74 
75  public:
78  virtual void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
79 
82  {
83  return myListener;
84  }
85 
88  {
90  }
91 
94  virtual void slot_geometryAndDataAdded( int index, const DtTerrainGeometryAndData& geomAndData );
95 
98  virtual void slot_geometryChanged( int index, double order, const DtTerrainGeometry& geometry );
99 
102  virtual void slot_dataChanged ( int index, double order, const DtKeyValuePairList& data );
103 
106  virtual void slot_dataRemoved( int index);
107 
109  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
110 
112  virtual void setModelSetEnabled( int modelSet, bool enabled );
113 
114  protected:
116  virtual void slot_coordinateSystemChanged();
117 
118  protected:
122  DtDynamicTerrainObjectAgent* myDynamicTerrainObjectAgent;
123 
124  typedef boost::unordered_map<int, DtTerrainGeometryAndData> DynamicTerrainEntryMap;
126  };
127  }
128 }
129 
Definition: terrainGeometryAndData.h:24
DtDynamicTerrainStateListener & listener()
Get the state listener for the dynamic terrain object this element is managing.
Definition: DtDynamicTerrainElement.h:81
Definition: DtElementEntry.h:44
Definition: keyValuePairList.h:18
DtVrlinkConnection & myVrlinkConnection
Definition: DtDynamicTerrainElement.h:119
DtDynamicTerrainStateListener & myListener
Definition: DtDynamicTerrainElement.h:120
DtDynamicTerrainObjectAgent * myDynamicTerrainObjectAgent
Definition: DtDynamicTerrainElement.h:122
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
unsigned int ObjectType
Definition: DtElementEntry.h:50
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtElementEntry::ObjectType elementType() const
return the element type
Definition: DtDynamicTerrainElement.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
boost::unordered_map< int, DtTerrainGeometryAndData > DynamicTerrainEntryMap
Definition: DtDynamicTerrainElement.h:124
Base class to provide boost signal/slot management.
DynamicTerrainEntryMap myDynamicTerrainEntryMap
Definition: DtDynamicTerrainElement.h:125
A single dynamic terrain element.
Definition: DtDynamicTerrainElement.h:56
DtSignalConnectionManager mySignalConnections
Definition: DtDynamicTerrainElement.h:121
Contains DLL export macros.
DynamicTerrain state listener.
Definition: DtDynamicTerrainStateListener.h:49
Contains makVrv::DtElementEntry class.
Definition: terrainGeometry.h:33
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27

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)