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

# SoIdleSensor(3iv)

sensor for one-time only callbacks when the application is idle

## NAME

SoIdleSensor — sensor for one-time only callbacks when the application is idle

## INHERITS FROM

SoSensor \> SoDelayQueueSensor \> SoIdleSensor

## SYNOPSIS

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

Methods from class SoIdleSensor:

	**SoIdleSensor()**\
 	**SoIdleSensor(SoSensorCB \*func, void \*data)**\
 	**~SoIdleSensor()**

Methods from class SoDelayQueueSensor:

**void**	**setPriority(uint32\_t pri)**\
 **uint32\_t**	**getPriority()**\
 **static uint32\_t**	**getDefaultPriority()**\
 **virtual void**	**schedule()**\
 **virtual void**	**unschedule()**\
 **virtual SbBool**	**isScheduled()**

Methods from class SoSensor:

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

## DESCRIPTION

**An idle sensor is almost exactly like an SoOneShotSensor**, except that it is only triggered when there are no timer queue sensors waiting to be triggered and there are no events waiting to be processed; that is, idle sensors will not be triggered if the delay queue is processed because the delay queue timeout expires. If the delay queue timeout is disabled (see **SoDB::setDelaySensorTimeout()**.), idle and one-shot sensors are exactly the same.

Note that idle sensors do not reschedule themselves. Inventor 1 idle sensors were always scheduled; call **schedule()** in the callback function to duplicate that behavior.

See the **SoOneShotSensor** manual page for more information.

## METHODS

	**SoIdleSensor()**\
 	**SoIdleSensor(SoSensorCB \*func, void \*data)**\
 Creation methods. The second method takes the callback function and data to be called when the sensor is triggered.

	**~SoIdleSensor()**\
 Destroys the sensor, freeing up any memory associated with it after unscheduling it.

## SEE ALSO

**SoOneShotSensor, SoDelayQueueSensor**
