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

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

#include <Inventor/sensors/SoNodeSensor.h>

Inheritance diagram for SoNodeSensor:
SoDataSensor SoDelayQueueSensor SoSensor

Public Member Functions

 SoNodeSensor (void)
 
 SoNodeSensor (SoSensorCB *func, void *data)
 
virtual ~SoNodeSensor (void)
 
void attach (SoNode *node)
 
void detach (void)
 
SoNodegetAttachedNode (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)
 
SoNodegetTriggerNode (void) const
 
SoFieldgetTriggerField (void) const
 
SoPathgetTriggerPath (void) const
 
void setTriggerPathFlag (SbBool flag)
 
SbBool getTriggerPathFlag (void) const
 
SoNotRec::OperationType getTriggerOperationType (void) const
 
int getTriggerIndex (void) const
 
int getTriggerFieldNumIndices (void) const
 
SoNodegetTriggerGroupChild (void) const
 
SoNodegetTriggerReplacedGroupChild (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)
 
SoSensorgetNextInQueue (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
SoSensorCBfunc
 
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: