VR-Forces 4.10 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) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 #include <vrvCore/DtElement.h>
19 #include <vrvCore/DtUniqueID.h>
20 #include <vrvCore/DtObserverMode.h>
21 
22 #include <boost/unordered_map.hpp>
23 
24 namespace makVrv
25 {
26  class DtStateVisualizerFactory;
27 
31  {
32  public:
33 
34  typedef boost::unordered_map<int, DtEntityVisualizerSet*> ModelSetMap;
35 
38 
40  virtual ~DtEntityElement();
41 
43  DtEntityElement() = delete;
44 
46  DtEntityElement(const DtEntityElement&) = delete;
47 
49  DtEntityElement& operator=(const DtEntityElement&) = delete;
50 
51  public:
52 
54  virtual void slot_updateDisplayName(const std::string& s);
55 
57  virtual void setVisible(bool visible);
58 
60  inline const ModelSetMap& modelSetMap() const
61  {
62  return myEntityModelSetMap;
63  }
64 
65  template <typename VisualizerClass>
66  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
67  {
68  ModelSetMap::iterator i = myEntityModelSetMap.begin();
69  ModelSetMap::iterator e = myEntityModelSetMap.end();
70  for(;i != e;++i)
71  {
72  i->second->findVisualizers(visualizers);
73  }
74  }
75 
78  {
79  return myListener;
80  }
81 
85  virtual void setInvisible(bool);
86  virtual bool invisible() const;
87 
89  {
91  }
92 
94  virtual void updateVisibilityStates();
95 
99  virtual void updateVisibilityState(DtEntityVisualizerSet*);
100 
101  virtual void setSceneObjectIdForModelSet(DtObserverMode::ModelSets modelSet, DtUniqueID id);
102  virtual DtUniqueID sceneObjectIdForModelSet(DtObserverMode::ModelSets modelSet) const;
103 
104  protected:
105 
106  typedef boost::unordered_map<DtObserverMode::ModelSets, DtUniqueID> SceneObjectIdMap;
107 
113  };
114 
115 }
116 
ModelSets
Definition: DtObserverMode.h:32
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtEntityElement.h:66
boost::unordered_map< DtObserverMode::ModelSets, DtUniqueID > SceneObjectIdMap
Definition: DtEntityElement.h:106
boost::unordered_map< int, DtEntityVisualizerSet * > ModelSetMap
Definition: DtEntityElement.h:34
DtEntityStateListener & myListener
Definition: DtEntityElement.h:109
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:29
unsigned int ObjectType
Definition: DtElementEntry.h:50
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
Contains vrvCore::DtObserverMode class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
SceneObjectIdMap mySceneObjectIdMap
Definition: DtEntityElement.h:108
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtElement class.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
A single entity element.
Definition: DtEntityElement.h:30
Base class to provide boost signal/slot management.
bool myInvisible
Definition: DtEntityElement.h:112
DtEntityStateListener & entityStateListener()
Get the listener for the entity this visualizer is visualizing.
Definition: DtEntityElement.h:77
Contains makVrv:DtEntityVisualizerSet class.
virtual DtElementEntry::ObjectType elementType() const
Virtual function for getting the element type.
Definition: DtEntityElement.h:88
Definition: DtElementEntry.h:29
const ModelSetMap & modelSetMap() const
Get the current model set map.
Definition: DtEntityElement.h:60
Contains makVrv::DtUniqueID type.
Contains makVrv:DtEntityStateVisualizer class.
This class is a set of entity visualizers, all of the visualizers in this set must support the entity...
Definition: DtEntityVisualizerSet.h:24
ModelSetMap myEntityModelSetMap
Definition: DtEntityElement.h:110
DtSignalConnectionManager myConnections
Definition: DtEntityElement.h:111
DtEntityStateListener.
Definition: DtEntityStateListener.h:44
Contains DLL export macros.

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)