Provided by: libcoin60-doc_3.1.3-2_all bug

NAME

       SoDataSensor -

       The SoDataSensor class is the abstract base class for sensors monitoring changes in a
       scene graph.

       If you need to know when a particular entity (as a field or a node) changes, subclasses of
       SoDataSensor can be used to monitor the entity and notify you when it changes.

SYNOPSIS

       #include <Inventor/sensors/SoDataSensor.h>

       Inherits SoDelayQueueSensor.

       Inherited by SoFieldSensor, SoNodeSensor, and SoPathSensor.

   Public Member Functions
       SoDataSensor (void)
       SoDataSensor (SoSensorCB *func, void *data)
       virtual ~SoDataSensor (void)
       void setDeleteCallback (SoSensorCB *function, void *data=NULL)
       SoNode * getTriggerNode (void) const
       SoField * getTriggerField (void) const
       SoPath * getTriggerPath (void) const
       void setTriggerPathFlag (SbBool flag)
       SbBool getTriggerPathFlag (void) const
       virtual void trigger (void)
       virtual void notify (SoNotList *l)
       virtual void dyingReference (void)=0

   Protected Member Functions
       void invokeDeleteCallback (void)

Detailed Description

       The SoDataSensor class is the abstract base class for sensors monitoring changes in a
       scene graph.

       If you need to know when a particular entity (as a field or a node) changes, subclasses of
       SoDataSensor can be used to monitor the entity and notify you when it changes.

Constructor & Destructor Documentation

   SoDataSensor::SoDataSensor (void) Default constructor.
   SoDataSensor::SoDataSensor (SoSensorCB *func, void *data) Constructor taking as parameters the
       sensor callback function and the userdata which will be passed the callback.
       See also:
           setFunction(), setData()

   SoDataSensor::~SoDataSensor (void) [virtual] Destructor.

Member Function Documentation

   void SoDataSensor::setDeleteCallback (SoSensorCB *function, void *data = NULL) If an object
       monitored by a data sensor is deleted, the given callback function will be called with the
       given userdata.
       The sensor priority setting does not affect the delete callback. It will be called
       immediately, before the object is deleted.

   SoNode * SoDataSensor::getTriggerNode (void) const Returns a pointer to the node causing the
       sensor to trigger, or NULL if there was no such node.
       NULL will also be returned for sensors which are not immediate sensors (i.e. with priority
       equal to 0), as the result could otherwise be misleading (non-immediate sensors could have
       been scheduled and rescheduled multiple times, so there wouldn't be a single node
       responsible for the sensor triggering).

       The result is only valid within the scope of a trigger(), so if you need to use the
       pointer outside your sensor callback, you must store it.

       See also:
           getTriggerField()

   SoField * SoDataSensor::getTriggerField (void) const Returns a pointer to the field causing
       the sensor to trigger, or NULL if the change didn't start at a field.
       Only valid for immediate sensors (will return NULL otherwise), for the same reason as
       described for SoDataSensor::getTriggerNode().

       The result is only valid within the scope of a trigger(), so if you need to use the
       pointer outside your sensor callback, you must store it.

   SoPath * SoDataSensor::getTriggerPath (void) const Returns a pointer to the path from the node
       under the surveillance of this sensor (either directly or indirectly through a field
       watch) down to the node which caused the sensor to be triggered.
       Will only work for immediate mode sensors, for the same reason explained under
       getTriggerNode().

       The resulting path is only valid within the scope of trigger(), so if you need to use the
       path outside your sensor callback, you must store the pointer and call SoPath::ref() to
       avoid its destruction at the end of SoDataSensor::trigger().

   void SoDataSensor::setTriggerPathFlag (SbBoolflag) This flag indicates whether or not the path
       should be queried whenever a node triggers the data sensor.
       This flag is provided because finding a node path through a scene graph is an expensive
       operation.

       See also:
           getTriggerPathFlag(), getTriggerPath()

   SbBool SoDataSensor::getTriggerPathFlag (void) const Returns whether or not any node induced
       trigger operations will make the sensor find the path of the node which caused it.
       See also:
           setTriggerPathFlag(), getTriggerPath()

   void SoDataSensor::trigger (void) [virtual] Trigger the sensor's callback function.
       Reimplemented from SoDelayQueueSensor.

       Reimplemented in SoFieldSensor.

   void SoDataSensor::notify (SoNotList *l) [virtual] Called from entity we are monitoring when
       it changes.
       If this is an immediate sensor, the field and node (if any) causing the change will be
       stored and can be fetched by getTriggerField() and getTriggerNode(). If the triggerpath
       flag has been set, the path down to the node is also found and stored for later retrieval
       by getTriggerPath().

       See also:
           setTriggerPathFlag()

       Reimplemented in SoPathSensor.

   void SoDataSensor::dyingReference (void) [pure virtual] This method is called when the entity
       we are connected to is about to be deleted.
   void SoDataSensor::invokeDeleteCallback (void) [protected] Runs the callback set in
       setDeleteCallback().
       Called from subclasses when the entity we're monitoring is about to be deleted.

Author

       Generated automatically by Doxygen for Coin from the source code.