Open Inventor Reference
SoSensorManager Class Reference

#include <Inventor/sensors/SoSensorManager.h>

Public Member Functions

 SoSensorManager ()
 Constructor, destructor.
 
 ~SoSensorManager ()
 
void setChangedCallback (void(*funcArg)(void *), void *data)
 Set up a function to call when either queue has a sensor added or removed.
 
void insertDelaySensor (SoDelayQueueSensor *s)
 Insert/remove an delay or timer event into/from the appropriate queue.
 
void insertTimerSensor (SoTimerQueueSensor *s)
 
void removeDelaySensor (SoDelayQueueSensor *s)
 
void removeTimerSensor (SoTimerQueueSensor *s)
 
void rescheduleTimer (SoTimerSensor *s)
 Timers are all rescheduled at the same time, after they have been triggered.
 
void removeRescheduledTimer (SoTimerQueueSensor *s)
 
void setDelaySensorTimeout (const SbTime &t)
 Set/get delay queue sensors (OneShot, Node, Path, etc) timeout value.
 
const SbTimegetDelaySensorTimeout ()
 
void processDelayQueue (bool isIdle)
 Process all sensors in the delay queue.
 
void processImmediateQueue ()
 Process all immediate (priority 0) sensors in the delay queue.
 
void processTimerQueue ()
 Process appropriate sensors in the timer queue based on current time.
 
bool isDelaySensorPending ()
 Returns TRUE if there is at least one sensor in the delay queue.
 
bool isTimerSensorPending (SbTime &tm)
 Returns TRUE if there is at least one sensor in the timer queue.
 
int doSelect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *userTimeOut)
 Just like UNIX select() call, but checks sensor queues while waiting for events.
 

Detailed Description

Definition at line 72 of file SoSensorManager.h.

Constructor & Destructor Documentation

◆ SoSensorManager()

SoSensorManager::SoSensorManager ( )

◆ ~SoSensorManager()

SoSensorManager::~SoSensorManager ( )

Member Function Documentation

◆ doSelect()

int SoSensorManager::doSelect ( int  nfds,
fd_set *  readfds,
fd_set *  writefds,
fd_set *  exceptfds,
struct timeval *  userTimeOut 
)

◆ getDelaySensorTimeout()

const SbTime & SoSensorManager::getDelaySensorTimeout ( )

◆ insertDelaySensor()

void SoSensorManager::insertDelaySensor ( SoDelayQueueSensor s)

◆ insertTimerSensor()

void SoSensorManager::insertTimerSensor ( SoTimerQueueSensor s)

◆ isDelaySensorPending()

bool SoSensorManager::isDelaySensorPending ( )
inline

Definition at line 114 of file SoSensorManager.h.

◆ isTimerSensorPending()

bool SoSensorManager::isTimerSensorPending ( SbTime tm)

If there is one, the time of the first sensor is placed in tm.

◆ processDelayQueue()

void SoSensorManager::processDelayQueue ( bool  isIdle)

The isIdle flag should be TRUE if the delay queue is being processed because there is idle time; it should be false if it is being processed because the delay sensor timeout has expired.

◆ processImmediateQueue()

void SoSensorManager::processImmediateQueue ( )

◆ processTimerQueue()

void SoSensorManager::processTimerQueue ( )

◆ removeDelaySensor()

void SoSensorManager::removeDelaySensor ( SoDelayQueueSensor s)

◆ removeRescheduledTimer()

void SoSensorManager::removeRescheduledTimer ( SoTimerQueueSensor s)

◆ removeTimerSensor()

void SoSensorManager::removeTimerSensor ( SoTimerQueueSensor s)

◆ rescheduleTimer()

void SoSensorManager::rescheduleTimer ( SoTimerSensor s)

This avoids timer queue saturation.

◆ setChangedCallback()

void SoSensorManager::setChangedCallback ( void(*)(void *)  funcArg,
void *  data 
)
inline

Definition at line 81 of file SoSensorManager.h.

◆ setDelaySensorTimeout()

void SoSensorManager::setDelaySensorTimeout ( const SbTime t)

Delay sensor go off whenever there is idle time or when the timeout expires.


The documentation for this class was generated from the following file: