VR-Forces Developer's Guide
 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) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
14 #include <vrvCore/DtElement.h>
15 #include <vrvCore/DtElementEntry.h>
16 
18 #include <vrvUtil/DtUnicode.h>
19 
21 
22 #include <vector>
23 
24 #include <unordered_map>
25 
26 class DtTerrainGeometry;
27 class DtKeyValuePairList;
28 
29 #ifndef DT_PROTOCOL_NAMESPACE
30 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
31 #endif
32 
33 namespace makVrv
34 {
35  class DtDynamicTerrainObjectAgent;
36 
37  namespace DT_PROTOCOL_NAMESPACE
38  {
39  class DtDynamicTerrainStateListener;
40  class DtVrlinkConnection;
41 
49  {
50  public:
51  // No default CTOR
52  DtDynamicTerrainElement() = delete;
53 
54  //Not copyable
56 
57  //Not assignable
58  DtDynamicTerrainElement& operator=(const DtDynamicTerrainElement& copy) = delete;
59 
62  DtStateListener& listener );
63 
65  virtual ~DtDynamicTerrainElement();
66 
67  public:
70  virtual void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
71 
74  {
75  return myListener;
76  }
77 
79  inline const DtElementEntry::ElementType elementType() const override
80  {
81  return theElementType();
82  }
83 
85  {
87  }
88 
91  virtual void slot_geometryAndDataAdded( int index, const DtTerrainGeometryAndData& geomAndData );
92 
95  virtual void slot_geometryChanged( int index, double order, const DtTerrainGeometry& geometry );
96 
99  virtual void slot_dataChanged ( int index, double order, const DtKeyValuePairList& data );
100 
103  virtual void slot_dataRemoved( int index);
104 
106  virtual void setModelSetEnabled( DtModelSetId modelSet, bool enabled );
107 
108  protected:
110  virtual void slot_coordinateSystemChanged();
111 
112  protected:
116  DtDynamicTerrainObjectAgent* myDynamicTerrainObjectAgent;
117 
118  typedef std::unordered_map<int, DtTerrainGeometryAndData> DynamicTerrainEntryMap;
120 
122  };
123 
125  }
126 }
127 
const DtElementEntry::ElementType elementType() const override
return the element type
Definition: DtDynamicTerrainElement.h:79
Definition: terrainGeometryAndData.h:24
DtDynamicTerrainStateListener & listener()
Get the state listener for the dynamic terrain object this element is managing.
Definition: DtDynamicTerrainElement.h:73
Definition: DtElementEntry.h:44
Definition: keyValuePairList.h:18
DtVrlinkConnection & myVrlinkConnection
Definition: DtDynamicTerrainElement.h:113
std::string myCurrentCoordinateSystemType
Definition: DtDynamicTerrainElement.h:121
DtDynamicTerrainStateListener & myListener
Definition: DtDynamicTerrainElement.h:114
static const DtElementEntry::ElementType theElementType()
Definition: DtDynamicTerrainElement.h:84
Definition: DtElement.h:277
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:44
DtDynamicTerrainObjectAgent * myDynamicTerrainObjectAgent
Definition: DtDynamicTerrainElement.h:116
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtElement class.
ElementType
Definition: DtElementEntry.h:26
Base class to provide boost signal/slot management.
DynamicTerrainEntryMap myDynamicTerrainEntryMap
Definition: DtDynamicTerrainElement.h:119
A single dynamic terrain element. For each VR-Link Dynamic Terrain Reflected Object, a DtDynamicTerrainElement is created. It has a reference to the state listener which will raise signals when changes to dynamic terrain reflected object occur. The element creates and manages a distributed DtDynamicTerrainObject, through which those changes are marshalled to the rendering engine(s).
Definition: DtDynamicTerrainElement.h:48
DtSignalConnectionManager mySignalConnections
Definition: DtDynamicTerrainElement.h:115
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Contains DLL export macros.
std::unordered_map< int, DtTerrainGeometryAndData > DynamicTerrainEntryMap
Definition: DtDynamicTerrainElement.h:118
DynamicTerrain state listener.
Definition: DtDynamicTerrainStateListener.h:49
Contains makVrv::DtElementEntry class.
Definition: terrainGeometry.h:33

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)