SoDelayQueueSensor(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’… 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) const
  • virtual void schedule (void)
  • virtual void unschedule (void)
  • virtual SbBool isScheduled (void) const
  • virtual SbBool isIdleOnly (void) const
  • virtual 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) const
  • void setData (void *callbackdata)
  • void * getData (void) const
  • void 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 * func
  • void * 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 priority 5 will trigger before a sensor with priority 6. 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