OpenWalnut
1.4.0
|
This callback is useful to en-/disable nodes using the node mask based on properties. More...
#include <WGENodeMaskCallback.h>
Public Member Functions | |
WGENodeMaskCallback (boost::shared_ptr< WBoolFlag > flag) | |
Creates new instance. | |
virtual | ~WGENodeMaskCallback () |
Destructor. | |
virtual void | operator() (osg::Node *node, osg::NodeVisitor *nv) |
This operator gets called by OSG every update cycle. | |
Private Types | |
typedef boost::signals2::signal< void() > | ReactivateSignal |
The type of signal used to reactivate the signal. | |
Private Member Functions | |
virtual void | activate () |
Gets called if m_flag changes. | |
Private Attributes | |
boost::shared_ptr< WBoolFlag > | m_flag |
The flag controlling the node mask. | |
boost::signals2::connection | m_connection |
The subscription to the change signal of m_flag. | |
boost::signals2::connection | m_reactivateConnection |
This connection gets established during the deactivation in operator() to ensure re-activation. | |
ReactivateSignal | m_reactivateSignal |
The reactivation signal. |
This callback is useful to en-/disable nodes using the node mask based on properties.
In contrast to WGEManagedGroupNode, this callback can be added to every kind of node. DO NOT use one instance of this class for multiple nodes. The problem is not very obvious. If a node gets deactivated, its node callback is inactive too. To reactive the node again, the callback somehow needs to remember which node it has deactivated. This is done during the first deactivation in update traversal.
Definition at line 42 of file WGENodeMaskCallback.h.
typedef boost::signals2::signal< void() > WGENodeMaskCallback::ReactivateSignal [private] |
The type of signal used to reactivate the signal.
Definition at line 85 of file WGENodeMaskCallback.h.
WGENodeMaskCallback::WGENodeMaskCallback | ( | boost::shared_ptr< WBoolFlag > | flag | ) | [explicit] |
Creates new instance.
flag | the bool property which controls activation. |
Definition at line 27 of file WGENodeMaskCallback.cpp.
References activate(), m_connection, and m_flag.
WGENodeMaskCallback::~WGENodeMaskCallback | ( | ) | [virtual] |
void WGENodeMaskCallback::activate | ( | ) | [private, virtual] |
Gets called if m_flag changes.
This handles activation of the node.
Definition at line 43 of file WGENodeMaskCallback.cpp.
References m_flag, and m_reactivateSignal.
Referenced by WGENodeMaskCallback().
void WGENodeMaskCallback::operator() | ( | osg::Node * | node, |
osg::NodeVisitor * | nv | ||
) | [virtual] |
This operator gets called by OSG every update cycle.
node | the osg node |
nv | the node visitor |
Definition at line 51 of file WGENodeMaskCallback.cpp.
References m_flag, m_reactivateConnection, and m_reactivateSignal.
boost::signals2::connection WGENodeMaskCallback::m_connection [private] |
The subscription to the change signal of m_flag.
Definition at line 75 of file WGENodeMaskCallback.h.
Referenced by WGENodeMaskCallback(), and ~WGENodeMaskCallback().
boost::shared_ptr< WBoolFlag > WGENodeMaskCallback::m_flag [private] |
The flag controlling the node mask.
Definition at line 70 of file WGENodeMaskCallback.h.
Referenced by activate(), operator()(), and WGENodeMaskCallback().
boost::signals2::connection WGENodeMaskCallback::m_reactivateConnection [private] |
This connection gets established during the deactivation in operator() to ensure re-activation.
Definition at line 80 of file WGENodeMaskCallback.h.
Referenced by operator()().
The reactivation signal.
Definition at line 90 of file WGENodeMaskCallback.h.
Referenced by activate(), and operator()().