SoDelayQueueSensor(3)
π SoDelayQueueSensor β from the Coin manual (section 3, bestie)
okay so this is a page from the Coin manual, section 3, and it's all about SoDelayQueueSensor. buckle up π
β¨ NAME β¨
SoDelayQueueSensor β the abstract base class for priority scheduled sensors. it's giving "blueprint energy", it's the parent class, it does not do the thing itself, its children do π
πΈ 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) constvirtual void schedule (void)virtual void unschedule (void)virtual SbBool isScheduled (void) constvirtual SbBool isIdleOnly (void) constvirtual void trigger (void)
Public Member Functions inherited from SoSensor
SoSensor (void)SoSensor (SoSensorCB *func, void *data)virtual ~SoSensor (void)void setFunction (SoSensorCB *callbackfunction)SoSensorCBPtr getFunction (void) constvoid setData (void *callbackdata)void * getData (void) constvoid setNextInQueue (SoSensor *next)SoSensor * getNextInQueue (void) const
π«Ά Static Public Member Functions
static uint32_t getDefaultPriority (void)
Static Public Member Functions inherited from SoSensor
static void initClass (void)
π§ Protected Attributes
SbBool scheduled
Protected Attributes inherited from SoSensor
SoSensorCB * funcvoid * funcData
π Detailed Description π
SoDelayQueueSensor is the abstract base class for priority scheduled sensors. no cap, that's the whole vibe of it β it's the ancestor, not the main character doing the work itself β¨
Delay queue sensors get invoked upon various events not related to time occurrences. like, they're not clock girlies, they're event girlies π¦. to find out which types of events the built-in sensor types can surveil, you gotta go read the documentation of the subclasses. iykyk.
The priority values let you queue events by their importance, so the sensors trigger in the exact sequence you want. slay, ordering π
The queue of delay sensors β that's instances of subclasses of SoDelayQueueSensor, to be clear β gets processed as soon as either the runtime system is idle, or, if it's continually busy, they'll be processed within a fixed amount of time. either way bestie, they're getting processed π«Ά
That time interval is by default 1/12th of a second, but you can control it with the SoSensorManager::setDelaySensorTimeout() interface. iconic.
π Constructor & Destructor Documentation π
SoDelayQueueSensor::SoDelayQueueSensor (void )
Default constructor. the classic, no args, no thoughts, just vibes π
SoDelayQueueSensor::SoDelayQueueSensor (SoSensorCB * func, void * data)
Constructor that takes as arguments the sensor callback function and the userdata which will be passed to the callback. you bring the function, you bring the data, it handles the rest π
See also: setFunction(), setData()
SoDelayQueueSensor::~SoDelayQueueSensor (void ) [virtual]
Destructor. it's over, it's done, goodbye sensor π
β Member Function Documentation β
void SoDelayQueueSensor::setPriority (uint32_t pri)
Sets this sensor's priority in the scheduling queue. when sensors get processed, high priority sensors will trigger before low priority sensors.
β οΈ bestie, listen carefully: a low number means a HIGH priority. a sensor with priority5will trigger before a sensor with priority6. yes, it's backwards from your intuition, we don't make the rules, we just report them π
Sensors with priority 0 have a special meaning in Coin/Inventor. they're called immediate sensors, and they 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. don't be doing your whole homework in there, okay? π
This setting does not affect SoDataSensor delete-callback invocations β those are always immediate. always. periodt.
See also: getPriority(), getDefaultPriority()
uint32_t SoDelayQueueSensor::getPriority (void ) const
Returns the sensor scheduling priority. the little number that decides who goes first π
See also: setPriority(), getDefaultPriority()
uint32_t SoDelayQueueSensor::getDefaultPriority (void ) [static]
Returns the default scheduling priority value. and the default sensor priority is 100. that's the factory setting, the out-of-the-box number β¨
See also: getPriority()
void SoDelayQueueSensor::schedule (void ) [virtual]
Puts 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 timeout is reached. either way, she's queued π
See also: SoDB::setDelaySensorTimeout(), unschedule(), isScheduled()
Implements SoSensor.
void SoDelayQueueSensor::unschedule (void ) [virtual]
Removes the sensor from the delay queue, without triggering it first. no callback, no drama, just removal π
See also: schedule(), isScheduled()
Implements SoSensor.
SbBool SoDelayQueueSensor::isScheduled (void ) const [virtual]
Checks if this sensor is scheduled for triggering. the vibe check for your sensor π¦
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. so like β only-when-actually-chilling, not just when the timer said so πΈ
See also: SoDB::setDelaySensorTimeout()
void SoDelayQueueSensor::trigger (void ) [virtual]
Triggers the sensor's callback function. do the thing!! π₯
Reimplemented from SoSensor.
Reimplemented in SoDataSensor, and SoFieldSensor.
π Member Data Documentation π
SbBool SoDelayQueueSensor::scheduled [protected]
TRUE if the sensor is currently scheduled. simple as that, bestie β
πΈ Author πΈ
Generated automatically by Doxygen for Coin from the source code. not a human, just a robot doing its little robot thing, and honestly? ate π€π
and that's the whole page, no notes. this is Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, and the manual section is SoDelayQueueSensor(3). go forth and schedule responsibly, mwah π«Άπβ¨
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms