VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtObserverObjectManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <boost/signals.hpp>
13 #include <vrvCore/vrvCore.h>
14 #include <map>
15 #include <vector>
16 
17 namespace makVrv
18 {
19  class DtDe;
20  class DtObserverObject;
21  class DtRenderer;
22 
26  {
27  public:
28 
29  typedef std::vector<DtObserverObject*> ObserverObjectsList;
30 
33 
35  virtual ~DtObserverObjectManager();
36 
38  virtual void update( double simTime );
39 
41  virtual void addObject( DtObserverObject* observer,
42  const std::string& name );
43 
45  virtual void removeObject( DtObserverObject* observer );
46 
49  virtual void removeObject( const std::string& name );
50 
52 
53  DtObserverObject* findObserverObjectByName( const std::string& name );
54  const DtObserverObject* findObserverObjectByName(
55  const std::string& name ) const;
57 
59  const ObserverObjectsList& observerObjects() const;
60 
62  boost::signal<void (const std::string&)> signal_observerAdded;
63 
65  boost::signal<void (const std::string&)> signal_observerRemoved;
66 
67  protected:
68 
69  typedef std::map<std::string, DtObserverObject*> ObserverObjectsMap;
70 
71  void removeObject( ObserverObjectsMap& observers,
72  DtObserverObject* observer );
73 
74  void removeObject(ObserverObjectsMap& observers,
75  const std::string& name );
76 
77  void addObject( ObserverObjectsMap& observers,
78  DtObserverObject* observer, const std::string& name );
79 
81 
84 
85  };
86 }
87 
88 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)