51#ifndef _SO_SENSOR_MANAGER_
52#define _SO_SENSOR_MANAGER_
54#include <Inventor/misc/SoBasic.h>
55#include <Inventor/SbTime.h>
62class SoSensorManagerThread;
74 void setChangedCallback(
void (*func)(
void *),
void *data);
90 void setDelaySensorTimeout(
const SbTime &t);
91 const SbTime &getDelaySensorTimeout();
97 void processDelayQueue(
SbBool isIdle);
100 void processImmediateQueue();
103 void processTimerQueue();
106 SbBool isDelaySensorPending();
115 int doSelect(
int nfds, fd_set *readfds, fd_set *writefds,
117 struct timeval *userTimeOut);
121 static void finish();
124 static bool isIvDebugSensorsSet()
125 {
return s_ivDebugSensors;}
140 static void delayQTimeoutCB(
void *,
SoSensor *);
149 uint32_t delayQCount;
156 void (*changedFunc)(
void *);
157 void *changedFuncData;
160 void notifyChanged();
168 SoSensorManagerThread* m_pThreadSensorMgr;
169 static SoSensorManagerThread* s_pThreadSensorMgr;
172 static bool s_ivDebugSensors;
Class for representation of a time.
Triggers a delegate once sometime in the future.
Abstract base class for sensors not dependent on time.
Abstract base class for Open Inventor sensors.
Abstract base class for sensors dependent on time.
Sensor that triggers repeatedly at regular intervals.