Home | Download | Screen shots | Discussion | Documentation
--- | --- | --- | --- | ---

# openvrml::pointing_device_sensor_node Class Reference

A node that can be affected by a pointing device. More...

`#include <openvrml/node.h>`

Inheritance diagram for openvrml::pointing_device_sensor_node:
[legend]

List of all members.

## Public Member Functions
virtual | ~pointing_device_sensor_node ()=0 throw ()
| Destroy.
void | activate (double timestamp, bool over, bool active, const double(&point)[3])
| Convey a pointing device state change.
## Protected Member Functions
| pointing_device_sensor_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
| Construct.
## Private Member Functions
virtual void | do_activate (double timestamp, bool over, bool active, const double(&point)[3])=0
| Called to convey a pointing device state change.
virtual pointing_device_sensor_node * | to_pointing_device_sensor () throw ()
| Cast to a `pointing_device_sensor_node`.

## Detailed Description

A node that can be affected by a pointing device.

## Constructor & Destructor Documentation

openvrml::pointing_device_sensor_node::~pointing_device_sensor_node | ( |  | ) | throw ()`[pure virtual]`

Destroy.

openvrml::pointing_device_sensor_node::pointing_device_sensor_node | ( | const node_type & | type,
|  | const boost::shared_ptr< openvrml::scope > & | scope |
| ) |  |  | `[protected]`

Construct.

Parameters:

  `[in]` | type | the `node_type`.
  `[in]` | scope | the `scope` to which the node belongs.

## Member Function Documentation

void openvrml::pointing_device_sensor_node::activate | ( | double | timestamp,
|  | bool | over,
|  | bool | active,
|  | const double(&) | point[3] |
| ) |  |  |

Convey a pointing device state change.

This function delegates to `do_activate`.

Parameters:

  `[in]` | timestamp | the current time.
  `[in]` | over | whether the pointing device is over the geometry affected by the pointing device sensor.
  `[in]` | active | whether the pointing device is “active”; e.g., whether a mouse button is currently depressed.
  `[in]` | point | the position of the pointer on the affected geometry.

void openvrml::pointing_device_sensor_node::do_activate | ( | double | timestamp,
|  | bool | over,
|  | bool | active,
|  | const double(&) | point[3] |
| ) |  |  | `[private, pure virtual]`

Called to convey a pointing device state change.

Parameters:

  `[in]` | timestamp | the current time.
  `[in]` | over | whether the pointing device is over the geometry affected by the pointing device sensor.
  `[in]` | active | whether the pointing device is “active”; e.g., whether a mouse button is currently depressed.
  `[in]` | point | the position of the pointer on the affected geometry.

openvrml::pointing_device_sensor_node * openvrml::pointing_device_sensor_node::to_pointing_device_sensor | ( |  | ) | throw ()`[private, virtual]`

Cast to a `pointing_device_sensor_node`.

For internal use only.

Returns:
  a pointer to the object.

Reimplemented from openvrml::node.