Man Linux: Main Page and Category List

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 didnt
       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 (SbBool flag) 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 sensors 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.