Scroll to navigation

SoIdleSensor(3IV)() SoIdleSensor(3IV)()


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


SoSensor > SoDelayQueueSensor > SoIdleSensor


#include <Inventor/sensors/SoIdleSensor.h>

Methods from class SoIdleSensor:


SoIdleSensor(SoSensorCB *func, void *data)


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


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.



SoIdleSensor(SoSensorCB *func, void *data)

Creation methods. The second method takes the callback function and data to be called when the sensor is triggered.


Destroys the sensor, freeing up any memory associated with it after unscheduling it.


SoOneShotSensor, SoDelayQueueSensor