OpenWalnut  1.5.0dev
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
WGENodeMaskCallback Class Reference

This callback is useful to en-/disable nodes using the node mask based on properties. More...

#include <WGENodeMaskCallback.h>

+ Inheritance diagram for WGENodeMaskCallback:
+ Collaboration diagram for WGENodeMaskCallback:

Public Member Functions

 WGENodeMaskCallback (std::shared_ptr< WBoolFlag > flag)
 Creates new instance. More...
 
virtual ~WGENodeMaskCallback ()
 Destructor. More...
 
virtual void operator() (osg::Node *node, osg::NodeVisitor *nv)
 This operator gets called by OSG every update cycle. More...
 

Private Types

typedef boost::signals2::signal< void() > ReactivateSignal
 The type of signal used to reactivate the signal. More...
 

Private Member Functions

virtual void activate ()
 Gets called if m_flag changes. More...
 

Private Attributes

std::shared_ptr< WBoolFlagm_flag
 The flag controlling the node mask. More...
 
boost::signals2::connection m_connection
 The subscription to the change signal of m_flag. More...
 
boost::signals2::connection m_reactivateConnection
 This connection gets established during the deactivation in operator() to ensure re-activation. More...
 
ReactivateSignal m_reactivateSignal
 The reactivation signal. More...
 

Detailed Description

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 44 of file WGENodeMaskCallback.h.

Member Typedef Documentation

◆ ReactivateSignal

typedef boost::signals2::signal< void() > WGENodeMaskCallback::ReactivateSignal
private

The type of signal used to reactivate the signal.

Definition at line 87 of file WGENodeMaskCallback.h.

Constructor & Destructor Documentation

◆ WGENodeMaskCallback()

WGENodeMaskCallback::WGENodeMaskCallback ( std::shared_ptr< WBoolFlag flag)
explicit

Creates new instance.

Parameters
flagthe bool property which controls activation.

Definition at line 29 of file WGENodeMaskCallback.cpp.

References activate(), m_connection, and m_flag.

+ Here is the call graph for this function:

◆ ~WGENodeMaskCallback()

WGENodeMaskCallback::~WGENodeMaskCallback ( )
virtual

Destructor.

Definition at line 39 of file WGENodeMaskCallback.cpp.

References m_connection.

Member Function Documentation

◆ activate()

void WGENodeMaskCallback::activate ( )
privatevirtual

Gets called if m_flag changes.

This handles activation of the node.

Definition at line 45 of file WGENodeMaskCallback.cpp.

References m_flag, and m_reactivateSignal.

Referenced by WGENodeMaskCallback().

+ Here is the caller graph for this function:

◆ operator()()

void WGENodeMaskCallback::operator() ( osg::Node *  node,
osg::NodeVisitor *  nv 
)
virtual

This operator gets called by OSG every update cycle.

Parameters
nodethe osg node
nvthe node visitor

Definition at line 53 of file WGENodeMaskCallback.cpp.

References m_flag, m_reactivateConnection, and m_reactivateSignal.

Member Data Documentation

◆ m_connection

boost::signals2::connection WGENodeMaskCallback::m_connection
private

The subscription to the change signal of m_flag.

Definition at line 77 of file WGENodeMaskCallback.h.

Referenced by WGENodeMaskCallback(), and ~WGENodeMaskCallback().

◆ m_flag

std::shared_ptr< WBoolFlag > WGENodeMaskCallback::m_flag
private

The flag controlling the node mask.

Definition at line 72 of file WGENodeMaskCallback.h.

Referenced by activate(), operator()(), and WGENodeMaskCallback().

◆ m_reactivateConnection

boost::signals2::connection WGENodeMaskCallback::m_reactivateConnection
private

This connection gets established during the deactivation in operator() to ensure re-activation.

Definition at line 82 of file WGENodeMaskCallback.h.

Referenced by operator()().

◆ m_reactivateSignal

ReactivateSignal WGENodeMaskCallback::m_reactivateSignal
private

The reactivation signal.

Definition at line 92 of file WGENodeMaskCallback.h.

Referenced by activate(), and operator()().


The documentation for this class was generated from the following files: