Sensor class that can be attached to Open Inventor fields. More...
#include <Inventor/sensors/SoFieldSensor.h>
Inheritance diagram for SoFieldSensor:Public Member Functions | |
| SoFieldSensor () | |
| Constructor. | |
| SoFieldSensor (SoSensorCB *func, void *data) | |
| This constructor takes the callback function and data to be called when the sensor is triggered. | |
| virtual | ~SoFieldSensor () |
| Destroys the sensor, freeing up any memory associated with it after unscheduling it. | |
| void | attach (SoField *field) |
| The attach() method makes this sensor detect changes to the given field. | |
| void | detach () |
| The detach() method unschedules this sensor (if it is scheduled) and makes it ignore changes to the scene graph. | |
| SoField * | getAttachedField () const |
| The getAttachedField() method returns the field that this sensor is sensing, or NULL if it is not attached to any field. | |
Public Member Functions inherited from SoDataSensor | |
| SoDataSensor () | |
| Constructor. | |
| SoDataSensor (SoSensorCB *func, void *data) | |
| Constructor that takes standard callback function and data. | |
| void | setDeleteCallback (SoSensorCB *f, void *data=NULL) |
| Sets a callback that will be called when the object the sensor is sensing is deleted. | |
| SoNode * | getTriggerNode () const |
| If this is a priority 0 data sensor, returns the node that was modified that caused this sensor to trigger. | |
| SoField * | getTriggerField () const |
| If this is a priority 0 data sensor, returns the field that was modified that caused this sensor to trigger. | |
| SoPath * | getTriggerPath () const |
| If this is a priority 0 data sensor, returns a path to the node that caused this sensor to trigger. | |
| void | setTriggerPathFlag (SbBool flag) |
| Sets the flag that indicates whether the trigger path (see getTriggerPath()) is available to callback methods. | |
| void | setTriggerFastEditInfoFlag (SbBool flag) |
| Sets the flag that indicates whether the trigger path fastEdit info (see getTriggerFastEditInfo()) is available to callback methods. | |
| SbBool | getTriggerPathFlag () const |
| Queries the flag that indicates whether the trigger path (see getTriggerPath()) is available to callbacks . | |
| SbBool | getTriggerFastEditInfoFlag () const |
| Queries the flag that indicates whether the trigger path fastEdit info (see getTriggerFastEditInfo()) is available to callbacks . Since Open Inventor 9.2.3. | |
| ChangeType | getTriggerType () const |
| If this is a priority 0 data sensor, returns the type of change that occurred. | |
| SoNode * | getTriggerChild () const |
| If this is a priority 0 data sensor, and a change to a group node's children caused this sensor to be triggered (getTriggerType returns GROUP_ADD_CHILD, GROUP_INSERT_CHILD, or GROUP_REPLACE_CHILD), returns the node that was added to the group, and NULL in all other cases. | |
| int | getTriggerChildIndex () const |
| If this is a priority 0 data sensor, and a change to a group node's children caused this sensor to be triggered (getTriggerType returns GROUP_ADD_CHILD, GROUP_INSERT_CHILD, or GROUP_REPLACE_CHILD), returns the index of the node that was added or removed, and -1 in all other cases. | |
| int | getTriggerMFieldStartIndex () const |
| If this is a priority 0 data sensor, and a change in the data values of a multiple field (e.g., SoMFVec3f) caused this sensor to be triggered, returns the first index of the range of the potentially changed values. | |
| int | getTriggerMFieldNumValues () const |
| If this is a priority 0 data sensor, and a change in the data values of a multiple field (e.g., SoMFVec3f) caused this sensor to be triggered, returns the size of the range of the potentially changed values. | |
| int | getTriggerFastEditInfo () const |
| Returns true if the triggered changes come from a field or node that was below a Separator with a fastEditPolicy field with a value different than OFF. | |
| virtual void | unschedule () |
| If this sensor is scheduled, removes it from the delay queue so that it will not be triggered. | |
Public Member Functions inherited from SoDelayQueueSensor | |
| SoDelayQueueSensor () | |
| Constructor. | |
| SoDelayQueueSensor (SoSensorCB *func, void *data) | |
| Constructor that takes standard callback and data. | |
| void | setPriority (uint32_t pri) |
| Sets the priority of the sensor. | |
| uint32_t | getPriority () const |
| Gets the priority of the sensor. | |
| virtual void | schedule () |
| If this sensor's priority is non-zero, adds this sensor to the list of delay queue sensors ready to be triggered. | |
| virtual SbBool | isIdleOnly () const |
Public Member Functions inherited from SoSensor | |
| SoSensor () | |
| Constructor. | |
| SoSensor (SoSensorCB *f, void *d) | |
| Constructor that takes standard callback function and data. | |
| void | setFunction (SoSensorCB *f, void *userData) |
| void | setFunction (SoSensorCB *f) |
| Sets the callback function that is called when the sensor is triggered. | |
| void | setData (void *d) |
| Sets the callback data passed to the callback function. | |
| SoSensorCB * | getFunction () const |
| Returns the callback that will be called when the sensor is triggered. | |
| void * | getData () const |
| Returns the user-supplied pointer that will be passed to the callback function. | |
| virtual SbBool | isScheduled () const |
| Returns TRUE if this sensor has been scheduled and is waiting in a sensor queue to be triggered. | |
Additional Inherited Members | |
Public Types inherited from SoDataSensor | |
| enum | ChangeType { UNSPECIFIED , GROUP_ADD_CHILD , GROUP_INSERT_CHILD , GROUP_REPLACE_CHILD , GROUP_REMOVE_CHILD , GROUP_REMOVE_ALL_CHILDREN , FIELD_MULTIVALUE } |
| Change type. More... | |
Public Types inherited from SoSensor | |
| typedef void | SoSensorCB(void *data, SoSensor *sensor) |
| This typedef defines the calling sequence for all callbacks from sensors. | |
Static Public Member Functions inherited from SoDelayQueueSensor | |
| static uint32_t | getDefaultPriority () |
| Returns the default delay queue sensor priority, which is 100. | |
Sensor class that can be attached to Open Inventor fields.
Field sensors detect changes to fields, calling a callback function whenever the field changes. The field may be part of a node, an input of an engine, or a global field.
See SoDataSensor for general information and code example.
SoNodeSensor, SoPathSensor, SoDataSensor
Definition at line 76 of file SoFieldSensor.h.
| SoFieldSensor::SoFieldSensor | ( | ) |
Constructor.
| SoFieldSensor::SoFieldSensor | ( | SoSensorCB * | func, |
| void * | data ) |
This constructor takes the callback function and data to be called when the sensor is triggered.
|
virtual |
Destroys the sensor, freeing up any memory associated with it after unscheduling it.
| void SoFieldSensor::attach | ( | SoField * | field | ) |
The attach() method makes this sensor detect changes to the given field.
See also detach(), getAttachedField()
| void SoFieldSensor::detach | ( | ) |
The detach() method unschedules this sensor (if it is scheduled) and makes it ignore changes to the scene graph.
See also attach(), getAttachedField()
|
inline |
The getAttachedField() method returns the field that this sensor is sensing, or NULL if it is not attached to any field.
Definition at line 115 of file SoFieldSensor.h.