VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAggregateElement.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>
15 #include <vrvVrl/DtVrlinkElement.h>
16 #include <boost/unordered_map.hpp>
17 
18 namespace makVrv
19 {
20  class DtStateVisualizerFactory;
21 
22  namespace DT_PROTOCOL_NAMESPACE
23  {
24  class DtVrlinkConnection;
25  class DtVrlinkAggregateStateListener;
26 
31  {
32  public:
33 
34  typedef boost::unordered_map<int, DtAggregateVisualizerSet*> ModelSetMap;
35 
38 
40  virtual ~DtAggregateElement();
41 
43  void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
44 
46  virtual void setVisible(bool visible);
47 
49  virtual void show(DtShowHideContext::ShowHideContext);
50  virtual void hide(DtShowHideContext::ShowHideContext);
51 
55  virtual void setInvisible(bool);
56  virtual bool invisible() const;
57 
60  void setModelSetEnabled( int modelSet, bool enabled );
61 
63  inline const ModelSetMap& modelSetMap() const
64  {
65  return myAggregateModelSetMap;
66  }
67 
68  template <typename VisualizerClass>
69  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
70  {
71  ModelSetMap::iterator i = myAggregateModelSetMap.begin();
72  ModelSetMap::iterator e = myAggregateModelSetMap.end();
73  for(;i != e;++i)
74  {
75  i->second->findVisualizers(visualizers);
76  }
77  }
78 
80  inline DtVrlinkAggregateStateListener& listener()
81  {
82  return myListener;
83  }
84 
85  virtual DtElementEntry::ObjectType elementType() const
86  {
88  }
89 
91  virtual void slot_subordinatesChanged();
92 
95  void createVisualizersByModelSetAndType( int modelSet, int visualType );
96 
99  void destroyVisualizersByModelSetAndType( int modelSet, int visualType );
100 
101  boost::signal<void (DtAggregateElement*)> signal_subordinatesChanged;
102 
103  protected:
105  void damageSet(unsigned int damage);
106 
108  virtual void updateVisibilityStates();
109 
113  virtual void updateVisibilityState(DtAggregateVisualizerSet*);
114 
115  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
116 
117  protected:
118 
124  };
125  }
126 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)