Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       SoDelayQueueSensor -

       The SoDelayQueueSensor class is the abstract base class for priority scheduled sensors.

       Delay queue sensors are invoked upon various events not related to time occurrences. See
       documentation of subclasses to see which types of events can be surveilled by the builtin
       sensor types.

SYNOPSIS

       #include <Inventor/sensors/SoDelayQueueSensor.h>

       Inherits SoSensor.

       Inherited by SoDataSensor, SoIdleSensor, and SoOneShotSensor.

   Public Member Functions
       SoDelayQueueSensor (void)
       SoDelayQueueSensor (SoSensorCB *func, void *data)
       virtual ~SoDelayQueueSensor (void)
       void setPriority (uint32_t pri)
       uint32_t getPriority (void) const
       virtual void schedule (void)
       virtual void unschedule (void)
       virtual SbBool isScheduled (void) const
       virtual SbBool isIdleOnly (void) const
       virtual void trigger (void)

   Static Public Member Functions
       static uint32_t getDefaultPriority (void)

   Protected Attributes
       SbBool scheduled

Detailed Description

       The SoDelayQueueSensor class is the abstract base class for priority scheduled sensors.

       Delay queue sensors are invoked upon various events not related to time occurrences. See
       documentation of subclasses to see which types of events can be surveilled by the builtin
       sensor types.

       The priority values can be used to queue events by their importance, so the sensors are
       triggered in the sequence you want.

       The queue of delay sensors (i.e. instances of subclasses of SoDelayQueueSensor) will be
       processed as soon as either the run-time system is idle, or if it is continually busy they
       will be processed within a fixed amount of time.

       This time interval is by default 1/12th of a second, but can be controlled with the
       SoSensorManager::setDelaySensorTimeout() interface.

Constructor & Destructor Documentation

   SoDelayQueueSensor::SoDelayQueueSensor (void)
       Default constructor.

   SoDelayQueueSensor::SoDelayQueueSensor (SoSensorCB *func, void *data)
       Constructor taking as arguments the sensor callback function and the userdata which will
       be passed the callback.

       See Also:
           setFunction(), setData()

   SoDelayQueueSensor::~SoDelayQueueSensor (void) [virtual]
       Destructor.

Member Function Documentation

   void SoDelayQueueSensor::setPriority (uint32_tpri)
       Set this sensor's priority in the scheduling queue. When sensors are processed, high
       priority sensors will trigger before low priority sensors.

       Please note that a low number means a high priority. A sensor with priority 5 will trigger
       before a sensor with priority 6.

       Sensors with priority 0 have a special meaning in Coin/Inventor. They are called immediate
       sensors, and will trigger immediately after the current notification chain has finished.
       Priority 0 sensors should be used with care, since they might lead to bad performance if
       you do some processing in the sensor callback.

       This setting does not affect SoDataSensor delete-callback invocations, which always are
       immediate.

       See Also:
           getPriority(), getDefaultPriority()

   uint32_t SoDelayQueueSensor::getPriority (void) const
       Returns sensor scheduling priority.

       See Also:
           setPriority(), getDefaultPriority()

   uint32_t SoDelayQueueSensor::getDefaultPriority (void) [static]
       Returns the default scheduling priority value. The default sensor priority is 100.

       See Also:
           getPriority()

   void SoDelayQueueSensor::schedule (void) [virtual]
       Put the sensor in the global delay queue. This means it will be triggered either when the
       CPU is idle, or when the specified delay queue time-out is reached.

       See Also:
           SoDB::setDelaySensorTimeout(), unschedule(), isScheduled()

       Implements SoSensor.

   void SoDelayQueueSensor::unschedule (void) [virtual]
       Remove sensor from the delay queue, without triggering it first.

       See Also:
           schedule(), isScheduled()

       Implements SoSensor.

   SbBool SoDelayQueueSensor::isScheduled (void) const [virtual]
       Check if this sensor is scheduled for triggering.

       See Also:
           schedule(), unschedule()

       Implements SoSensor.

   SbBool SoDelayQueueSensor::isIdleOnly (void) const [virtual]
       Returns a flag indicating whether or not the sensor should only be triggered if the
       application is truly idle, and not when the delay queue is processed because of the delay
       queue timeout.

       See Also:
           SoDB::setDelaySensorTimeout()

   void SoDelayQueueSensor::trigger (void) [virtual]
       Trigger the sensor's callback function.

       Reimplemented from SoSensor.

       Reimplemented in SoDataSensor, and SoFieldSensor.

Member Data Documentation

   SbBool SoDelayQueueSensor::scheduled [protected]
       TRUE if the sensor is currently scheduled.

Author

       Generated automatically by Doxygen for Coin from the source code.