Click or drag to resize
SoDelayQueueSensor Class

Abstract base class for sensors not dependent on time.

Inheritance Hierarchy

Namespace: OIV.Inventor.Sensors
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2024.2.2.0 (10.16.2.0)
Syntax
public class SoDelayQueueSensor : SoSensor

The SoDelayQueueSensor type exposes the following members.

Constructors
  NameDescription
Public methodSoDelayQueueSensor

Constructor.

Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodStatic memberGetDefaultPriority

Returns the default delay queue sensor priority, which is 100.

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetPriority

Gets the priority of the sensor.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsIdleOnly
Public methodIsScheduled

Returns true if this sensor has been scheduled and is waiting in a sensor queue to be triggered.

(Inherited from SoSensor.)
Public methodSchedule
(Inherited from SoSensor.)
Public methodSetPriority

Sets the priority of the sensor.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUnschedule
(Inherited from SoSensor.)
Top
Properties
  NameDescription
Public propertyAction

(Inherited from SoSensor.)
Top
Remarks

Delay queue sensors are separate from timer queue sensors (see OIV.Inventor.Sensors.SoTimerQueueSensor) and provide methods for setting the relative priorities of the sensors in the delay queue (sensors with higher priorities will be triggered first).

Sensors with non-zero priorities are added to the delay queue when scheduled, and are all processed once, in order, when the delay queue is processed, which normally happens as part of your program's main loop (see OIV.Inventor.Win.SoWin.MainLoop() or ()). Typically, the delay queue is processed whenever there are no events waiting to be distributed and there are no timer queue sensors waiting to be triggered. The delay queue also has a timeout to ensure that delay queue sensors are triggered even if there are always events or timer sensors waiting; see OIV.Inventor.SoDB.SetDelaySensorTimeout(OIV.Inventor.SbTime).

Sensors with priority 0 are treated specially. Priority 0 sensors are triggered almost immediately after they are scheduled, before the program returns to the main loop. Priority 0 sensors are not necessarily triggered immediately when they are scheduled, however; if they are scheduled as part of the evaluation of a field connection network they may not be triggered until the evaluation of the network is complete. Also, if a priority 0 sensor is scheduled within the delegatemethod of another priority 0 sensor, it will not be triggered until the delegatemethod is complete (also note that if more than one priority 0 sensor is scheduled, the order in which they fire is undefined).

See Also