VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
16 #include <vrvVrl/DtVrlinkElement.h>
17 #include <boost/unordered_map.hpp>
18 
19 namespace makVrv
20 {
21  class DtStateVisualizerFactory;
22 
23  namespace DT_PROTOCOL_NAMESPACE
24  {
26  class DtVrlinkConnection;
27 
31  {
32  public:
33 
34  typedef boost::unordered_map<int, DtEntityVisualizerSet*> ModelSetMap;
35 
38  DtVrlinkEntityStateListener& listener );
39 
41  virtual ~DtEntityElement();
42 
44  void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
45 
47  virtual void setVisible(bool visible);
48 
51  void setModelSetEnabled( int modelSet, bool enabled );
52 
55  void createVisualizersByModelSetAndType( int modelSet, int visualType );
56 
59  void destroyVisualizersByModelSetAndType( int modelSet, int visualType );
60 
62  inline const ModelSetMap& modelSetMap() const
63  {
64  return myEntityModelSetMap;
65  }
66 
67  template <typename VisualizerClass>
68  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
69  {
70  ModelSetMap::iterator i = myEntityModelSetMap.begin();
71  ModelSetMap::iterator e = myEntityModelSetMap.end();
72  for(;i != e;++i)
73  {
74  i->second->findVisualizers(visualizers);
75  }
76  }
77 
80  {
81  return myListener;
82  }
83 
87  virtual void setInvisible(bool);
88  virtual bool invisible() const;
89 
91  {
93  }
94 
96  virtual void damageSet(unsigned int damage);
97 
99  virtual void updateVisibilityStates();
100 
104  virtual void updateVisibilityState(DtEntityVisualizerSet*);
105 
106  protected:
107 
108  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
109 
112  virtual void slot_showStealthsChanged( bool enabled );
113 
115  virtual void slot_updateForceIdRaw(int forceId);
116 
117  virtual void determineSubtype();
118 
119  protected:
120 
126  };
127  }
128 }
129 
DtVrlinkEntityStateListener & myListener
Definition: DtEntityElement.h:123
ModelSetMap myEntityModelSetMap
Definition: DtEntityElement.h:121
boost::unordered_map< int, DtEntityVisualizerSet * > ModelSetMap
Definition: DtEntityElement.h:34
virtual DtElementEntry::ObjectType elementType() const
Virtual function for getting the element type.
Definition: DtEntityElement.h:90
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtEntityElement.h:68
const ModelSetMap & modelSetMap() const
Get the current model set map.
Definition: DtEntityElement.h:62
DtSignalConnectionManager myConnections
Definition: DtEntityElement.h:124
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
unsigned int ObjectType
Definition: DtElementEntry.h:50
A single entity element.
Definition: DtEntityElement.h:30
Contains makVrv:DtStateVisualizer class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Base class to provide boost signal/slot management.
Contains makVrv:DtEntityVisualizerSet class.
DtVrlinkConnection & myVrlinkConnection
Definition: DtEntityElement.h:122
Definition: DtElementEntry.h:29
DtVrlinkEntityStateListener & listener()
Get the listener for the entity this visualizer is visualizing.
Definition: DtEntityElement.h:79
This class is a set of entity visualizers, all of the visualizers in this set must support the entity...
Definition: DtEntityVisualizerSet.h:27
Contains DLL export macros.
bool myInvisible
Definition: DtEntityElement.h:125
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)