VR-Forces 4.8 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) 2019 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 
81  {
82  return myListener;
83  }
84 
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  virtual void determineSubtype();
118 
119  protected:
120 
126  };
127  }
128 }
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtAggregateElement.h:69
DtVrlinkConnection & myVrlinkConnection
Definition: DtAggregateElement.h:122
ShowHideContext
Definition: DtShowHideContext.h:17
bool myInvisible
Definition: DtAggregateElement.h:125
Contains makVrv:DtAggregateVisualizerSet class.
ModelSetMap myAggregateModelSetMap
Definition: DtAggregateElement.h:121
Definition: DtElementEntry.h:32
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
unsigned int ObjectType
Definition: DtElementEntry.h:50
virtual DtElementEntry::ObjectType elementType() const
Virtual function for getting the element type.
Definition: DtAggregateElement.h:85
A single Aggregate element.
Definition: DtAggregateElement.h:30
DtSignalConnectionManager myConnections
Definition: DtAggregateElement.h:124
boost::unordered_map< int, DtAggregateVisualizerSet * > ModelSetMap
Definition: DtAggregateElement.h:34
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.
This class is a set of aggregate visualizers, all of the visualizers in this set must support the agg...
Definition: DtAggregateVisualizerSet.h:24
boost::signal< void(DtAggregateElement *)> signal_subordinatesChanged
Definition: DtAggregateElement.h:101
DtVrlinkAggregateStateListener & listener()
Get the listener for the Aggregate this visualizer is visualizing.
Definition: DtAggregateElement.h:80
const ModelSetMap & modelSetMap() const
Get the current model set map.
Definition: DtAggregateElement.h:63
Contains DLL export macros.
DtVrlinkAggregateStateListener & myListener
Definition: DtAggregateElement.h:123
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)