logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoOneShotSensor — sensor for one-time only callbacks

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.

Inherits From

       SoSensor > SoDelayQueueSensor > SoOneShotSensor

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.

Name

       SoOneShotSensor — sensor for one-time only callbacks

See Also

SoIdleSensor,SoDelayQueueSensorSoOneShotSensor(3IV)()

Synopsis

#include<Inventor/sensors/SoOneShotSensor.h>

          Methods from class SoOneShotSensor:

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

          Methods from class SoDelayQueueSensor:

     voidsetPriority(uint32_tpri)uint32_tgetPriority()staticuint32_tgetDefaultPriority()virtualvoidschedule()virtualvoidunschedule()virtualSbBoolisScheduled()

          Methods from class SoSensor:

     voidsetFunction(SoSensorCB*callbackFunction)SoSensorCB*getFunction()constvoidsetData(void*callbackData)void*getData()const

See Also