---
name: "SoFieldSensor"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoFieldSensor"
---

# SoFieldSensor(3)

The SoFieldSensor class detects changes to a field.

## NAME

SoFieldSensor - The **SoFieldSensor** class detects changes to a field.

## SYNOPSIS

\#include \<Inventor/sensors/SoFieldSensor.h\>

Inherits **SoDataSensor**.

### Public Member Functions

**SoFieldSensor** (void)\
 **SoFieldSensor** (SoSensorCB \***func**, void \*data)\
 virtual **~SoFieldSensor** (void)\
 void **attach** (**SoField** \*field)\
 void **detach** (void)\
 **SoField** \* **getAttachedField** (void) const\
 virtual void **trigger** (void)\

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\

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 **SoFieldSensor** class detects changes to a field.

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

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

## Constructor & Destructor Documentation

### SoFieldSensor::SoFieldSensor (void )

Constructor.

### SoFieldSensor::SoFieldSensor (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()**

### SoFieldSensor::~SoFieldSensor (void ) \[virtual\]

Destructor.

## Member Function Documentation

### void SoFieldSensor::attach (SoField \* field)

Attach sensor to a field. Whenever the field's value changes, the sensor will be triggered and call the callback function.

A field sensor can be attached to only a single field at a time. When this method is invoked multiple times, each subsequent call will replace the field the sensor is monitoring with the new *field*.

When the given field is deleted, the sensor will automatically be detached.

**See also**

**detach()**

### void SoFieldSensor::detach (void )

Detach sensor from field. As long as an **SoFieldSensor** is detached, it will never call its callback function.

**See also**

**attach()**

### SoField \* SoFieldSensor::getAttachedField (void ) const

Returns a pointer to the field connected to the sensor.

**See also**

**attach()**, **detach()**

### void SoFieldSensor::trigger (void ) \[virtual\]

Trigger the sensor's callback function.

Reimplemented from **SoDataSensor**.

## Author

Generated automatically by Doxygen for Coin from the source code.
