Man Linux: Main Page and Category List

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_t pri) Set this sensors
       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 sensors
       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.