VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgNodeObserver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/Observer>
17 #include <osg/Node>
18 
19 #include <unordered_map>
20 
21 namespace makVrv
22 {
24  class DT_DLL_VRVOSG DtOsgNodeObserver : public osg::Observer
25  {
26  public:
27  DtOsgNodeObserver(osg::Node* node);
28  virtual ~DtOsgNodeObserver();
29 
30  virtual void objectDeleted(void* object);
31 
32  boost::signalslib::signal<void (osg::Node*)> signal_NodeDeleting;
33  private:
34  osg::Node* myNode;
35  };
36 
37  typedef std::unordered_map<osg::Node*, DtOsgNodeObserver*>
39 
43  {
44  public:
47 
49  virtual ~DtOsgNodeObserverSupervisor();
50 
52  void createObserver(osg::Node* node);
53 
55  bool observerExists(osg::Node* node);
56 
58  void destroyObserver(osg::Node* data, bool bCheck);
59 
61  void removeAndDestroyAllObservers(void);
62 
66  boost::signalslib::signal<void (osg::Node*)> signal_NodeDeleting;
67  private:
68 
69  void slot_NodeDeleting(osg::Node* node);
70 
72 
74  };
75 
76 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::Node * myNode
Definition: DtOsgNodeObserver.h:34
std::unordered_map< osg::Node *, DtOsgNodeObserver * > MapNodesToObservers
Definition: DtOsgNodeObserver.h:38
boost::signalslib::signal< void(osg::Node *)> signal_NodeDeleting
Signaled when a node being observed is about to be deleted. Interested clients should listen in on th...
Definition: DtOsgNodeObserver.h:66
MapNodesToObservers myMapNodesToObservers
Definition: DtOsgNodeObserver.h:71
Utility class to listen in on object/object deletion.
Definition: DtOsgNodeObserver.h:24
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtOsgNodeObserver.h:73
Base class to provide boost signal/slot management.
Utility class to listen in on a set of objects.
Definition: DtOsgNodeObserver.h:42
Contains DLL export macros.
boost::signalslib::signal< void(osg::Node *)> signal_NodeDeleting
Definition: DtOsgNodeObserver.h:32

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)