trusty (3) SoOneShotSensor.3iv.gz

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

NAME

       SoOneShotSensor — sensor for one-time only callbacks

INHERITS FROM

       SoSensor > SoDelayQueueSensor > SoOneShotSensor

SYNOPSIS

       #include <Inventor/sensors/SoOneShotSensor.h>

          Methods from class SoOneShotSensor:

                         SoOneShotSensor()
                         SoOneShotSensor(SoSensorCB *func, void *data)
                         ~SoOneShotSensor()

          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

       A  one-shot  sensor  is triggered once after it is scheduled, when the delay queue is processed. Like all
       delay queue sensors, one-shot sensors with a non-zero priority are just added to  the  delay  queue  when
       scheduled;  if they are scheduled again before the delay queue is processed nothing happens, and they are
       guaranteed to be called only once when the delay queue is processed. For example, a one-shot sensor whose
       callback  function  redraws  the scene might be scheduled whenever the scene graph changes and whenever a
       window-system event reporting that the window changed size occurs. By using a one-shot,  the  scene  will
       only  be  redrawn  once even if a window-changed-size event occurs just after the scene graph is modified
       (or if several window-changed-size events occur in a row).

       Calling schedule() in the callback function is a useful way of getting something to happen repeatedly  as
       often as possible, while still handling events and timeouts.

       A  priority  0  one-shot  sensor  isn't  very useful, since scheduling it is exactly the same as directly
       calling its callback function.

METHODS

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

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

SEE ALSO

       SoIdleSensor, SoDelayQueueSensor

                                                                                          SoOneShotSensor(3IV)()