VR-Forces 4.8 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) 2016 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  private:
59  // No default CTOR
61 
62  //Not copyable
64 
65  //Not assignable
66  DtDynamicTerrainElement& operator=(const DtDynamicTerrainElement& copy);
67 
68  public:
72 
74  virtual ~DtDynamicTerrainElement();
75 
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 
105  virtual void getDefinitions( std::vector<DtUnicode>& definitions )
106  {
107  }
108 
110  virtual void setModelSetEnabled( int modelSet, bool enabled )
111  {
112  }
113 
114  protected:
115  virtual void slot_coordinateSystemChanged();
116 
117  protected:
121  DtDynamicTerrainObjectAgent* myDynamicTerrainObjectAgent;
122 
123  typedef boost::unordered_map<int, DtTerrainGeometryAndData> DynamicTerrainEntryMap;
125  };
126  }
127 }
128 
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:118
DtDynamicTerrainStateListener & myListener
Definition: DtDynamicTerrainElement.h:119
DtDynamicTerrainObjectAgent * myDynamicTerrainObjectAgent
Definition: DtDynamicTerrainElement.h:121
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
unsigned int ObjectType
Definition: DtElementEntry.h:50
virtual void getDefinitions(std::vector< DtUnicode > &definitions)
Not used, but base class requires implentation.
Definition: DtDynamicTerrainElement.h:105
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
virtual void setModelSetEnabled(int modelSet, bool enabled)
Not used, but base class requires implentation.
Definition: DtDynamicTerrainElement.h:110
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:123
Base class to provide boost signal/slot management.
DynamicTerrainEntryMap myDynamicTerrainEntryMap
Definition: DtDynamicTerrainElement.h:124
A single dynamic terrain element.
Definition: DtDynamicTerrainElement.h:56
DtSignalConnectionManager mySignalConnections
Definition: DtDynamicTerrainElement.h:120
Contains DLL export macros.
DynamicTerrain state listener.
Definition: DtDynamicTerrainStateListener.h:48
Contains makVrv::DtElementEntry class.
Definition: terrainGeometry.h:33
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:30

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)