00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef COIN_SOTIMERSENSOR_H
00021 #define COIN_SOTIMERSENSOR_H
00022 
00023 #include <Inventor/sensors/SoTimerQueueSensor.h>
00024 
00025 
00026 class COIN_DLL_API SoTimerSensor : public SoTimerQueueSensor {
00027   typedef SoTimerQueueSensor inherited;
00028 
00029 public:
00030   SoTimerSensor(void);
00031   SoTimerSensor(SoSensorCB * func, void * data);
00032   virtual ~SoTimerSensor(void);
00033 
00034   void setBaseTime(const SbTime & base);
00035   const SbTime & getBaseTime(void) const;
00036   void setInterval(const SbTime & interval);
00037   const SbTime & getInterval(void) const;
00038 
00039   virtual void schedule(void);
00040   virtual void unschedule(void);
00041   void reschedule(const SbTime & schedtime);
00042 
00043 private:
00044   virtual void trigger(void);
00045 
00046   SbTime base, interval;
00047   SbBool setbasetime;
00048   SbBool istriggering;
00049 };
00050 
00051 #endif // !COIN_SOTIMERSENSOR_H