Scroll to navigation

SoPathSensor(3) Library Functions Manual SoPathSensor(3)

NAME

SoPathSensor - The SoPathSensor class detects changes to paths.

SYNOPSIS

#include <Inventor/sensors/SoPathSensor.h>

Inherits SoDataSensor.

Public Types


enum TriggerFilter { PATH = 0x1, NODES = 0x2, PATH_AND_NODES = 0x3 }

Public Member Functions


SoPathSensor (void)
SoPathSensor (SoSensorCB *func, void *data)
virtual ~SoPathSensor (void)
void setTriggerFilter (const TriggerFilter type)
TriggerFilter getTriggerFilter (void) const
void attach (SoPath *path)
void detach (void)
SoPath * getAttachedPath (void) const

Public Member Functions inherited from SoDataSensor
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)

Public Member Functions inherited from SoDelayQueueSensor
SoDelayQueueSensor (void)
SoDelayQueueSensor (SoSensorCB *func, void *data)
virtual ~SoDelayQueueSensor (void)
void setPriority (uint32_t pri)
uint32_t getPriority (void) const
virtual void schedule (void)
virtual void unschedule (void)
virtual SbBool isScheduled (void) const
virtual SbBool isIdleOnly (void) const

Public Member Functions inherited from SoSensor
SoSensor (void)
SoSensor (SoSensorCB *func, void *data)
virtual ~SoSensor (void)
void setFunction (SoSensorCB *callbackfunction)
SoSensorCBPtr getFunction (void) const
void setData (void *callbackdata)
void * getData (void) const
void setNextInQueue (SoSensor *next)
SoSensor * getNextInQueue (void) const

Protected Member Functions


virtual void notify (SoNotList *l)

Protected Member Functions inherited from SoDataSensor
void invokeDeleteCallback (void)

Additional Inherited Members

Static Public Member Functions inherited from SoDelayQueueSensor
static uint32_t getDefaultPriority (void)

Static Public Member Functions inherited from SoSensor
static void initClass (void)

Protected Attributes inherited from SoDelayQueueSensor
SbBool scheduled

Protected Attributes inherited from SoSensor
SoSensorCB * func
void * funcData

Detailed Description

The SoPathSensor class detects changes to paths.

If you need to know when a path changes (i.e. nodes in the path has been removed, or new nodes is added), use this sensor to get a notification.

You can also use this sensor to detect when some node in the path is changed.

An SoPathSensor can also act for delete-callback purposes alone and does not need a regular notification-based callback. The delete callback will be invoked for when the SoPath instance is deleted, not for anything you would be monitoring in a path.

Member Enumeration Documentation

enum SoPathSensor::TriggerFilter

Trigger filter, which decides if the sensor should trigger on path changes, changes on nodes in the path, or both.

Enumerator

Trigger on path changes only.
Trigger on node changes only. This can be nodes in the path, or nodes affecting the nodes in the path (nodes that updates the state and are left of the node in the path).
Trigger on both path changes and node changes.

Constructor & Destructor Documentation

SoPathSensor::SoPathSensor (void)

Default constructor. Use setFunction() to set up a callback function later.

SoPathSensor::SoPathSensor (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()

SoPathSensor::~SoPathSensor (void) [virtual]

Destructor.

Member Function Documentation

void SoPathSensor::setTriggerFilter (const TriggerFilter filter)

Set the TriggerFilter for this sensor.

The default is PATH_AND_NODES.

Since

Coin 2.0

SoPathSensor::TriggerFilter SoPathSensor::getTriggerFilter (void) const

Return the TriggerFilter for this sensor.

Since

Coin 2.0

void SoPathSensor::attach (SoPath * path)

Attach sensor to a path. Whenever the path changes, the sensor will be triggered and call the callback function.

When the SoPath instance is deleted, the sensor will automatically be detached.

See also

detach()

void SoPathSensor::detach (void)

Detach sensor from path. As long as an SoPathSensor is detached, it will never invoke its callback function.

See also

attach()

SoPath * SoPathSensor::getAttachedPath (void) const

Returns a pointer to the path connected to the sensor.

See also

attach(), detach()

void SoPathSensor::notify (SoNotList * l) [protected], [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 from SoDataSensor.

Author

Generated automatically by Doxygen for Coin from the source code.

Version 3.1.3 Coin