---
name: "SoSensor"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoSensor/3iv"
---

# SoSensor(3iv)

abstract base class for Inventor sensors

## NAME

SoSensor — abstract base class for Inventor sensors

## INHERITS FROM

SoSensor

## SYNOPSIS

**#include \<Inventor/sensors/SoSensor.h\>**

**typedef void**	**SoSensorCB(void \*data, SoSensor \*sensor)**

Methods from class SoSensor:

**void**	**setFunction(SoSensorCB \*callbackFunction)**\
 **SoSensorCB \***	**getFunction() const**\
 **void**	**setData(void \*callbackData)**\
 **void \***	**getData() const**

## DESCRIPTION

**Sensors detect changes either to time or to Inventor objects in a scene graph, and call a user-defined callback function. Sensors are** *scheduled* when the thing they are attached to changes, and sometime after they are scheduled they are *triggered*, calling the user's callback function.

## METHODS

**void**	**setFunction(SoSensorCB \*callbackFunction)**\
 Sets the callback function that is called when the sensor is triggered. The function must take two arguments — user-supplied callback data (of type void \*) and a pointer to the sensor that is triggering the function (of type SoSensor \*).

**SoSensorCB \***	**getFunction() const**\
 Returns the callback function that will be called when the sensor is triggered.

**void**	**setData(void \*callbackData)**\
 Sets the callback data passed to the callback function.

**void \***	**getData() const**\
 Returns the user-supplied pointer that will be passed to the callback function.

## SEE ALSO

**SoAlarmSensor, SoDataSensor, SoFieldSensor, SoIdleSensor, SoNodeSensor, SoPathSensor, SoSensorManager**
