oracular (3) SoTimerSensor.3iv.gz

Provided by: inventor-doc_2.1.6+ds-2_all bug

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

                                                                                            SoTimerSensor(3IV)()