VR-Forces 4.1 Class Documentation
DtAggregateElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtAggregateElement.h,v $ $Revision: 1.17 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvVrl/vrvVrl.h>
18 #include <vrvVrl/DtVrlinkElement.h>
19 #include <boost/unordered_map.hpp>
20 
21 namespace makVrv
22 {
23  class DtStateVisualizerFactory;
24 
25  namespace DT_PROTOCOL_NAMESPACE
26  {
27  class DtVrlinkConnection;
28  class DtVrlinkAggregateStateListener;
29 
34  {
35  public:
36 
37  typedef boost::unordered_map<int, DtAggregateVisualizerSet*> ModelSetMap;
38 
41 
44 
46  void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
47 
49  virtual void setVisible(bool visible);
50 
52  virtual void show(DtShowHideContext::ShowHideContext);
53  virtual void hide(DtShowHideContext::ShowHideContext);
54 
57  void setModelSetEnabled( int modelSet, bool enabled );
58 
60  inline const ModelSetMap& modelSetMap() const
61  {
62  return myAggregateModelSetMap;
63  }
64 
65  template <typename VisualizerClass>
66  void findVisualizers(std::vector<VisualizerClass*>& visualizers)
67  {
68  ModelSetMap::iterator i = myAggregateModelSetMap.begin();
69  ModelSetMap::iterator e = myAggregateModelSetMap.end();
70  for(;i != e;++i)
71  {
72  i->second->findVisualizers(visualizers);
73  }
74  }
75 
77  inline DtVrlinkAggregateStateListener& listener()
78  {
79  return myListener;
80  }
81 
82  virtual DtElementEntry::ObjectType elementType() const
83  {
85  }
86 
88  virtual void slot_subordinatesChanged();
89 
90  boost::signal<void (DtAggregateElement*)> signal_subordinatesChanged;
91 
92  protected:
93 
95  virtual void updateVisibilityStates();
96 
100  virtual void updateVisibilityState(DtAggregateVisualizerSet*);
101 
102  virtual void getDefinitions( std::vector<DtUnicode>& definitions );
103 
104  protected:
105 
110  };
111  }
112 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)