SoDataSensor(3IV)
SoDataSensor (SoDataSens) - abstract base class for sensors attached to parts of a scene
As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.
NAME SoDataSensor (SoDataSens) - abstract base class for sensors attached to parts of a scene INHERITS FROM SoSensor > SoDelayQueueSensor > SoDataSensor SYNOPSIS #include <Inventor_c/sensors/SoDataSensor.h> typedef SoDataSensor SoDataSens Functions from class SoDataSensor: void SoDataSensSetDelCB(SoDataSens *this, SoSensorCB *function, void *data) SoNode * SoDataSensGetTrigNode(const SoDataSens *this) SoField * SoDataSensGetTrigField(const SoDataSens *this) SoPath * SoDataSensGetTrigPath(const SoDataSens *this) void SoDataSensSetTrigPathFlag(SoDataSens *this, SbBool flag) SbBool SoDataSensGetTrigPathFlag(const SoDataSens *this) Functions from class SoDelayQueueSensor: void SoDataSensSetPri(SoDataSens *this, uint32_t pri) uint32_t SoDataSensGetPri(SoDataSens *this) uint32_t SoDataSensGetDefaultPriority() void SoDataSensSched(SoDataSens *this) void SoDataSensUnsched(SoDataSens *this) SbBool SoDataSensIsSched(SoDataSens *this) Functions from class SoSensor: void SoDataSensSetFunc(SoDataSens *this, SoSensorCB *callbackFunction) SoSensorCB * SoDataSensGetFunc(const SoDataSens *this) void SoDataSensSetData(SoDataSens *this, void *callbackData) void * SoDataSensGetData(const SoDataSens *this) DESCRIPTION Data sensors detect changes to scene graph objects (paths, nodes, or fields) and trigger their callback function when the object changes. Data sensors provide a delete callback that is called just before the object the data sensor is attached to is deleted; note that the callback should not attempt to modify the object in any way, or core dumps may result. Priority zero data sensors also provide methods that can be called in the callback function to determine exactly which node, field, or path caused the sensor to be triggered. FUNCTIONS void SoDataSensSetDelCB(SoDataSens *this, SoSensorCB *function, void *data) Sets a callback that will be called when the object the sensor is sensing is deleted. SoNode * SoDataSensGetTrigNode(const SoDataSens *this) SoField * SoDataSensGetTrigField(const SoDataSens *this) If this is a priority 0 data sensor, returns the node/field that was modified that caused this sensor to trigger. Returns NULL if the sensor was not triggered because a node/field changed (for example, if schedule() is called on the sensor) or if this sensor is not a priority 0 sensor. Note that because one change to the scene graph may cause multiple nodes or fields to be modified (because of field-to-field connections), the node or field returned may not be the only one that changed. SoPath * SoDataSensGetTrigPath(const SoDataSens *this) void SoDataSensSetTrigPathFlag(SoDataSens *this, SbBool flag) SbBool SoDataSensGetTrigPathFlag(const SoDataSens *this) If this is a priority 0 data sensor, returns a path to the node that caused this sensor to trigger. Because recreating the path to the node that changed is relatively expensive, setTriggerPathFlag(TRUE) must be called before the sensor is scheduled. If it is not called, or if the sensor wasn't triggered because a node changed, this returns NULL. NULL is also returned if this is not a priority 0 sensor. SEE ALSO SoNodeSensor, SoPathSensor, SoFieldSensor, SoDelayQueueSensor