Provided by: inventor-doc_2.1.5-10-18_all bug

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

                                                                              SoIdleSensor(3IV)()