Triggers a delegate once sometime in the future. More...
#include <Inventor/sensors/SoAlarmSensor.h>
Public Member Functions | |
SoAlarmSensor () | |
SoAlarmSensor (SoSensorCB *func, void *data) | |
virtual | ~SoAlarmSensor () |
void | setTime (const SbTime &absTime) |
void | setTimeFromNow (const SbTime &relTime) |
const SbTime & | getTime () const |
virtual void | schedule () |
Triggers a delegate once sometime in the future.
This type of sensor can be used to schedule a one-time delegate for some time in the future. The sensor is not guaranteed to be called at exactly that time, but will be called sometime after the specified time.
SoOneShotSensor, SoTimerSensor, SoTimerQueueSensor, SbTime
SoAlarmSensor::SoAlarmSensor | ( | ) |
Constructor.
SoAlarmSensor::SoAlarmSensor | ( | SoSensorCB * | func, | |
void * | data | |||
) |
This constructor takes the callback function and data to be called when the sensor is triggered.
virtual SoAlarmSensor::~SoAlarmSensor | ( | ) | [virtual] |
Destroys the sensor, freeing up any memory associated with it after unscheduling it.
const SbTime& SoAlarmSensor::getTime | ( | ) | const [inline] |
Returns the time at which the sensor is set to be triggered.
This is similar to the getTriggerTime method, but returns the time even if the sensor has not yet been scheduled.
virtual void SoAlarmSensor::schedule | ( | ) | [virtual] |
Adds this sensor to the timer queue.
Subclasses provide methods for setting when the sensor will be triggered.
Reimplemented from SoTimerQueueSensor.
void SoAlarmSensor::setTime | ( | const SbTime & | absTime | ) |
Sets the sensor to go off at the specified time.
You must also call schedule() for the sensor to be triggered. If the sensor is already scheduled, it must be unscheduled and then rescheduled for the change in the trigger time to take effect.
void SoAlarmSensor::setTimeFromNow | ( | const SbTime & | relTime | ) |
Sets the sensor to go off the given amount of time from now.
You must also call schedule() for the sensor to be triggered. If the sensor is already scheduled, it must be unscheduled and then rescheduled for the change in the trigger time to take effect.