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

# openvrml::grouping_node Class Reference

Abstract base class for grouping nodes. More...

`#include <openvrml/node.h>`

Inheritance diagram for openvrml::grouping_node:
[legend]

List of all members.

## Public Member Functions

virtual | ~grouping_node ()=0 throw ()
| Destroy.
const std::vector < boost::intrusive_ptr< node > > | children () const throw ( std::bad_alloc )
| Get the children in the scene graph.
void | activate_pointing_device_sensors (double timestamp, bool over, bool active, const double(&p)[3])
| Called in response to user interaction to activate any child pointing device sensor nodes.

## Protected Member Functions

| grouping_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw ()
| Construct.

## Private Member Functions

virtual grouping_node * | to_grouping () throw ()
| Cast to a `grouping_node`.
virtual const std::vector < boost::intrusive_ptr< node > > | do_children () const =0 throw ( std::bad_alloc )
| Get the children in the scene graph.

## Detailed Description

Abstract base class for grouping nodes.

## Constructor & Destructor Documentation

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

Destroy.

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

Construct.

Parameters:

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

## Member Function Documentation

const std::vector< boost::intrusive_ptr< openvrml::node > > openvrml::grouping_node::children | ( |  | ) | const throw ( std::bad_alloc )

Get the children in the scene graph.

This function delegates to `do_children`.

Returns:
  the children in the scene graph.

Exceptions:

  | std::bad_alloc | if memory allocation fails.

void openvrml::grouping_node::activate_pointing_device_sensors | ( | double | timestamp,
|  | bool | over,
|  | bool | active,
|  | const double(&) | p[3] |
| ) |  |  |

Called in response to user interaction to activate any child pointing device sensor nodes.

Calls `pointing_device_sendor_node::activate` for child `pointing_device_sensor_nodes`, recursively.

Parameters:

  `[in]` | timestamp | the current time.
  `[in]` | over | whether the pointer is over sensitive geometry.
  `[in]` | active | whether the pointer has activated sensitive geometry.
  `[in]` | p | the activation point.

openvrml::grouping_node * openvrml::grouping_node::to_grouping | ( |  | ) | throw ()`[private, virtual]`

Cast to a `grouping_node`.

Returns:
  a pointer to this `grouping_node`.

Reimplemented from openvrml::node.

const std::vector< boost::intrusive_ptr< openvrml::node > > openvrml::grouping_node::do_children | ( |  | ) | const throw ( std::bad_alloc )`[private, pure virtual]`

Get the children in the scene graph.

Returns:
  the child nodes in the scene graph.

Exceptions:

  | std::bad_alloc | if memory allocation fails.