VR-Forces 4.1 Class Documentation
DtObserverObjectManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtObserverObjectManager.h,v $ $Revision: 1.10 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtObserverObjectManager_H_
14 #define DtObserverObjectManager_H_
15 
16 #include <boost/signals.hpp>
17 #include <vrvCore/vrvCore.h>
18 #include <map>
19 #include <vector>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtObserverObject;
25  class DtRenderer;
26 
30  {
31  public:
32 
33  typedef std::vector<DtObserverObject*> ObserverObjectsList;
34 
37 
39  virtual ~DtObserverObjectManager();
40 
42  virtual void update( double simTime );
43 
45  virtual void addObject( DtObserverObject* observer,
46  const std::string& name );
47 
49  virtual void removeObject( DtObserverObject* observer );
50 
53  virtual void removeObject( const std::string& name );
54 
56 
57  DtObserverObject* findObserverObjectByName( const std::string& name );
58  const DtObserverObject* findObserverObjectByName(
59  const std::string& name ) const;
61 
63  const ObserverObjectsList& observerObjects() const;
64 
66  boost::signal<void (const std::string&)> signal_observerAdded;
67 
69  boost::signal<void (const std::string&)> signal_observerRemoved;
70 
71  protected:
72 
73  typedef std::map<std::string, DtObserverObject*> ObserverObjectsMap;
74 
75  void removeObject( ObserverObjectsMap& observers,
76  DtObserverObject* observer );
77 
78  void removeObject(ObserverObjectsMap& observers,
79  const std::string& name );
80 
81  void addObject( ObserverObjectsMap& observers,
82  DtObserverObject* observer, const std::string& name );
83 
85 
88 
89  };
90 }
91 
92 #endif
93 

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)