.TH "SoNodeSensor" 3 "Tue Jun 23 2026 23:48:38" "Version 4.0.10" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoNodeSensor \- The \fBSoNodeSensor\fP class detects changes to nodes\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoDataSensor\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSoNodeSensor\fP (void)" .br .ti -1c .RI "\fBSoNodeSensor\fP (SoSensorCB *\fBfunc\fP, void *data)" .br .ti -1c .RI "virtual \fB~SoNodeSensor\fP (void)" .br .ti -1c .RI "void \fBattach\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "void \fBdetach\fP (void)" .br .ti -1c .RI "\fBSoNode\fP * \fBgetAttachedNode\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoDataSensor\fP .in +1c .ti -1c .RI "\fBSoDataSensor\fP (void)" .br .ti -1c .RI "\fBSoDataSensor\fP (SoSensorCB *\fBfunc\fP, void *data)" .br .ti -1c .RI "virtual \fB~SoDataSensor\fP (void)" .br .ti -1c .RI "void \fBsetDeleteCallback\fP (SoSensorCB *function, void *data=NULL)" .br .ti -1c .RI "\fBSoNode\fP * \fBgetTriggerNode\fP (void) const" .br .ti -1c .RI "\fBSoField\fP * \fBgetTriggerField\fP (void) const" .br .ti -1c .RI "\fBSoPath\fP * \fBgetTriggerPath\fP (void) const" .br .ti -1c .RI "void \fBsetTriggerPathFlag\fP (SbBool flag)" .br .ti -1c .RI "SbBool \fBgetTriggerPathFlag\fP (void) const" .br .ti -1c .RI "\fBSoNotRec::OperationType\fP \fBgetTriggerOperationType\fP (void) const" .br .ti -1c .RI "int \fBgetTriggerIndex\fP (void) const" .br .ti -1c .RI "int \fBgetTriggerFieldNumIndices\fP (void) const" .br .ti -1c .RI "\fBSoNode\fP * \fBgetTriggerGroupChild\fP (void) const" .br .ti -1c .RI "\fBSoNode\fP * \fBgetTriggerReplacedGroupChild\fP (void) const" .br .ti -1c .RI "virtual void \fBtrigger\fP (void)" .br .ti -1c .RI "virtual void \fBnotify\fP (\fBSoNotList\fP *l)" .br .in -1c Public Member Functions inherited from \fBSoDelayQueueSensor\fP .in +1c .ti -1c .RI "\fBSoDelayQueueSensor\fP (void)" .br .ti -1c .RI "\fBSoDelayQueueSensor\fP (SoSensorCB *\fBfunc\fP, void *data)" .br .ti -1c .RI "virtual \fB~SoDelayQueueSensor\fP (void)" .br .ti -1c .RI "void \fBsetPriority\fP (uint32_t pri)" .br .ti -1c .RI "uint32_t \fBgetPriority\fP (void) const" .br .ti -1c .RI "virtual void \fBschedule\fP (void)" .br .ti -1c .RI "virtual void \fBunschedule\fP (void)" .br .ti -1c .RI "virtual SbBool \fBisScheduled\fP (void) const" .br .ti -1c .RI "virtual SbBool \fBisIdleOnly\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoSensor\fP .in +1c .ti -1c .RI "\fBSoSensor\fP (void)" .br .ti -1c .RI "\fBSoSensor\fP (SoSensorCB *\fBfunc\fP, void *data)" .br .ti -1c .RI "virtual \fB~SoSensor\fP (void)" .br .ti -1c .RI "void \fBsetFunction\fP (SoSensorCB *callbackfunction)" .br .ti -1c .RI "SoSensorCBPtr \fBgetFunction\fP (void) const" .br .ti -1c .RI "void \fBsetData\fP (void *callbackdata)" .br .ti -1c .RI "void * \fBgetData\fP (void) const" .br .ti -1c .RI "void \fBsetNextInQueue\fP (\fBSoSensor\fP *next)" .br .ti -1c .RI "\fBSoSensor\fP * \fBgetNextInQueue\fP (void) const" .br .in -1c .SS "Additional Inherited Members" Static Public Member Functions inherited from \fBSoDelayQueueSensor\fP .in +1c .ti -1c .RI "static uint32_t \fBgetDefaultPriority\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoSensor\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Protected Member Functions inherited from \fBSoDataSensor\fP .in +1c .ti -1c .RI "void \fBinvokeDeleteCallback\fP (void)" .br .in -1c Protected Attributes inherited from \fBSoDelayQueueSensor\fP .in +1c .ti -1c .RI "SbBool \fBscheduled\fP" .br .in -1c Protected Attributes inherited from \fBSoSensor\fP .in +1c .ti -1c .RI "SoSensorCB * \fBfunc\fP" .br .ti -1c .RI "void * \fBfuncData\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoNodeSensor\fP 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\&. .PP 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\&. .PP An \fBSoNodeSensor\fP can also act for delete-callback purposes alone and does not need a regular notification-based callback\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoNodeSensor::SoNodeSensor (void )" Default constructor\&. .SS "SoNodeSensor::SoNodeSensor (SoSensorCB * func, void * data)" Constructor taking as parameters the sensor callback function and the userdata which will be passed to the callback\&. .PP \fBSee also\fP .RS 4 \fBsetFunction()\fP, \fBsetData()\fP .RE .PP .SS "SoNodeSensor::~SoNodeSensor (void )\fR [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "void SoNodeSensor::attach (\fBSoNode\fP * node)" Attach sensor to a node\&. Whenever any data in the node (or its children, if it is an \fBSoGroup\fP or \fBSoGroup\fP derived node) changes, the sensor will be triggered and call the callback function\&. .PP Attaching a node sensor to a node will \fInot\fP increase the node's reference count (and conversely, \fBdetach()\fP'ing the node sensor will not decrease the reference count, either)\&. .PP When the attached node is deleted, the sensor will be automatically detached()\&. .PP \fBSee also\fP .RS 4 \fBdetach()\fP .RE .PP .SS "void SoNodeSensor::detach (void )" Detach sensor from node\&. As long as an \fBSoNodeSensor\fP is detached, it will never call its callback function\&. .PP \fBSee also\fP .RS 4 \fBattach()\fP .RE .PP .SS "\fBSoNode\fP * SoNodeSensor::getAttachedNode (void ) const" Returns a pointer to the node connected to the sensor\&. .PP \fBSee also\fP .RS 4 \fBattach()\fP, \fBdetach()\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.