SoTimerSensor(3IV)NAMESoTimerSensor (SoTimerSens) - sensor that triggers callback repeatedly at
regular intervals
INHERITS FROM
SoSensor > SoTimerQueueSensor > SoTimerSensorSYNOPSIS
#include <Inventor_c/sensors/SoTimerSensor.h>
typedef SoTimerSensor SoTimerSens
Functions from class SoTimerSensor:
SoTimerSensor * SoTimerSensCreate()SoTimerSensor * SoTimerSensCreateCB(SoSensorCB *func, void *data)
void SoTimerSensDelete(SoTimerSens *this)
void SoTimerSensSetBaseTime(SoTimerSens *this, const
SbTime *base)
const SbTime * SoTimerSensGetBaseTime(const SoTimerSens *this)
void SoTimerSensSetInterval(SoTimerSens *this, const
SbTime *interval)
const SbTime * SoTimerSensGetInterval(const SoTimerSens *this)
Functions from class SoTimerQueueSensor:
const SbTime * SoTimerSensGetTrigTime(SoTimerSens *this)
void SoTimerSensSched(SoTimerSens *this)
void SoTimerSensUnsched(SoTimerSens *this)
SbBool SoTimerSensIsSched(SoTimerSens *this)
Functions from class SoSensor:
void SoTimerSensSetFunc(SoTimerSens *this, SoSensorCB
*callbackFunction)
SoSensorCB * SoTimerSensGetFunc(const SoTimerSens *this)
void SoTimerSensSetData(SoTimerSens *this, void
*callbackData)
void * SoTimerSensGetData(const SoTimerSens *this)
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
Page 1SoTimerSensor(3IV)
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.
FUNCTIONSSoTimerSensor * SoTimerSensCreate()SoTimerSensor * SoTimerSensCreateCB(SoSensorCB *func, void *data)
Creation methods. The second method takes the callback function and
data to be called when the sensor is triggered.
void SoTimerSensDelete(SoTimerSens *this)
Destroys the sensor, freeing up any memory associated with it after
unscheduling it.
void SoTimerSensSetBaseTime(SoTimerSens *this, const
SbTime *base)
const SbTime * SoTimerSensGetBaseTime(const SoTimerSens *this)
void SoTimerSensSetInterval(SoTimerSens *this, const
SbTime *interval)
const SbTime * SoTimerSensGetInterval(const SoTimerSens *this)
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
Page 2