SoTimerSensor(3IV)

SoTimerSensor - sensor that triggers callback repeatedly at regular intervals

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoTimerSensor - sensor that triggers callback repeatedly at regular
     intervals

INHERITS FROM
     SoSensor > SoTimerQueueSensor > SoTimerSensor

SYNOPSIS
     #include <Inventor/sensors/SoTimerSensor.h>

          Methods from class SoTimerSensor:

                         SoTimerSensor()
                         SoTimerSensor(SoSensorCB *func, void *data)
                         ~SoTimerSensor()
     void                setBaseTime(const SbTime &base)
     const SbTime &      getBaseTime() const
     void                setInterval(const SbTime &interval)
     const SbTime &      getInterval() const

          Methods from class SoTimerQueueSensor:

     const SbTime &      getTriggerTime()
     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
     Timer sensors trigger their callback function at regular intervals. For
     example, a timer might be setup to call its callback function every
     second on the second by setting the base time to SbTime(0.0) and the
     interval to SbTime(1.0). Timers are guaranteed to be triggered only once
     when the timer queue is processed, so if the application only processes
     the timer queue once every 5 seconds (because it is busy doing something
     else) the once-a-second sensor's callback will be called only once every
     5 seconds.

     Note also that SoTimers always schedule themselves to be triggered the
     next even multiple of the interval time after the base time; so, for
     example, if the once-a-second sensor is triggered at time 2.9 (because
     the application way busy doing something at time 2.0 and didn't get
     around to processing the sensor queue for a while) it will reschedule
     itself to go off at time 3.0, not at time 3.9. If the base time was never
     set, the sensor would be scheduled for time 3.9.
METHODS
                         SoTimerSensor()
                         SoTimerSensor(SoSensorCB *func, void *data)
          Creation methods. The second method takes the callback function and
          data to be called when the sensor is triggered.

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

     void                setBaseTime(const SbTime &base)
     const SbTime &      getBaseTime() const
     void                setInterval(const SbTime &interval)
     const SbTime &      getInterval() const
          Sets/gets the base time and the interval. The default base time is
          the time when the sensor is scheduled or rescheduled, and the
          default interval is 1/30th of a second.


SEE ALSO
     SoOneShotSensor, SoAlarmSensor, SoTimerQueueSensor, SbTime