Coin: SoNodeSensor Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

Public Member Functions | List of all members
SoNodeSensor Class Reference
Sensor Classes

The SoNodeSensor class detects changes to nodes. More...

`#include <Inventor/sensors/SoNodeSensor.h>`

Inheritance diagram for SoNodeSensor:

## Public Member Functions
| SoNodeSensor (void)
| SoNodeSensor (SoSensorCB *func, void *data)
virtual | ~SoNodeSensor (void)
void | attach (SoNode *node)
void | detach (void)
SoNode * | getAttachedNode (void) const
Public Member Functions inherited from SoDataSensor
| SoDataSensor (void)
| SoDataSensor (SoSensorCB *func, void *data)
virtual | ~SoDataSensor (void)
void | setDeleteCallback (SoSensorCB *function, void *data=NULL)
SoNode * | getTriggerNode (void) const
SoField * | getTriggerField (void) const
SoPath * | getTriggerPath (void) const
void | setTriggerPathFlag (SbBool flag)
SbBool | getTriggerPathFlag (void) const
SoNotRec::OperationType | getTriggerOperationType (void) const
int | getTriggerIndex (void) const
int | getTriggerFieldNumIndices (void) const
SoNode * | getTriggerGroupChild (void) const
SoNode * | getTriggerReplacedGroupChild (void) const
virtual void | trigger (void)
virtual void | notify (SoNotList *l)
Public Member Functions inherited from SoDelayQueueSensor
| SoDelayQueueSensor (void)
| SoDelayQueueSensor (SoSensorCB *func, void *data)
virtual | ~SoDelayQueueSensor (void)
void | setPriority (uint32_t pri)
uint32_t | getPriority (void) const
virtual void | schedule (void)
virtual void | unschedule (void)
virtual SbBool | isScheduled (void) const
virtual SbBool | isIdleOnly (void) const
Public Member Functions inherited from SoSensor
| SoSensor (void)
| SoSensor (SoSensorCB *func, void *data)
virtual | ~SoSensor (void)
void | setFunction (SoSensorCB *callbackfunction)
SoSensorCBPtr | getFunction (void) const
void | setData (void *callbackdata)
void * | getData (void) const
void | setNextInQueue (SoSensor *next)
SoSensor * | getNextInQueue (void) const

## Additional Inherited Members
Static Public Member Functions inherited from SoDelayQueueSensor
static uint32_t | getDefaultPriority (void)
Static Public Member Functions inherited from SoSensor
static void | initClass (void)
Protected Member Functions inherited from SoDataSensor
void | invokeDeleteCallback (void)
Protected Attributes inherited from SoDelayQueueSensor
SbBool | scheduled
Protected Attributes inherited from SoSensor
SoSensorCB * | func
void * | funcData

## Detailed Description

The SoNodeSensor class detects changes to nodes.

Attach a node to a sensor of this type to put it under surveillance, so you can act upon changes to the node.

Any modification to the node's fields will trigger the sensor, as will changes to node's children (if any), including if nodes are added or removed as children below the node in the subgraph.

An SoNodeSensor can also act for delete-callback purposes alone and does not need a regular notification-based callback.

## Constructor & Destructor Documentation

## ◆ SoNodeSensor() [1/2]

SoNodeSensor::SoNodeSensor | ( | void |  | ) |

Default constructor.

## ◆ SoNodeSensor() [2/2]

SoNodeSensor::SoNodeSensor | ( | SoSensorCB * | func,
|  | void * | data )

Constructor taking as parameters the sensor callback function and the userdata which will be passed to the callback.

See also
  setFunction(), setData()

## ◆ ~SoNodeSensor()

SoNodeSensor::~SoNodeSensor | ( | void |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ attach()

void SoNodeSensor::attach | ( | SoNode * | node | ) |

Attach sensor to a node. Whenever any data in the node (or its children, if it is an SoGroup or SoGroup derived node) changes, the sensor will be triggered and call the callback function.

Attaching a node sensor to a node will not increase the node's reference count (and conversely, detach()'ing the node sensor will not decrease the reference count, either).

When the attached node is deleted, the sensor will be automatically detached().

See also
  detach()

## ◆ detach()

void SoNodeSensor::detach | ( | void |  | ) |

Detach sensor from node. As long as an SoNodeSensor is detached, it will never call its callback function.

See also
  attach()

## ◆ getAttachedNode()

SoNode * SoNodeSensor::getAttachedNode | ( | void |  | ) | const

Returns a pointer to the node connected to the sensor.

See also
  attach(), detach()

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

- SoNodeSensor.h
- SoNodeSensor.cpp