# SoPathSensor Class Reference
[Sensor classes]

`#include <Inventor/sensors/SoPathSensor.h>`

Inheritance diagram for SoPathSensor:

List of all members.

## 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.

## 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

## Protected Member Functions

virtual void | notify (SoNotList *l)

## 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.

Enumeration values:

  PATH | Trigger on path changes only.
  NODES | 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).
  PATH_AND_NODES | 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.

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.

The documentation for this class was generated from the following files:

- SoPathSensor.h
- SoPathSensor.cpp