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

Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

# openvrml::vrml97_node::group_node Class Reference

Inheritance diagram for openvrml::vrml97_node::group_node:

[legend]
List of all members.

## Detailed Description

Represents Group node instances.

## Public Member Functions

| group_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
| Construct.
virtual | ~group_node () throw ()
| Destroy.
virtual const openvrml::bounding_volume & | bounding_volume () const
| Get the bounding volume.
virtual bool | modified () const
| Determine whether the node has been modified.
virtual const std::vector< node_ptr > & | children () const throw ()
| Get the children in the scene graph.
virtual void | activate (double timeStamp, bool isOver, bool isActive, double *p)
void | render_nocull (openvrml::viewer &viewer, rendering_context context)

## Protected Member Functions

virtual void | do_render_child (openvrml::viewer &viewer, rendering_context context)
| Render the node.
void | recalc_bsphere ()
| Recalculate the bounding volume.

## Protected Attributes

sfvec3f | bbox_center_
| bboxCenter field.
sfvec3f | bbox_size_
| bboxSize field.
add_children_listener | add_children_listener_
| addChildren eventIn handler.
remove_children_listener | remove_children_listener_
| removeChildren eventIn handler.
children_exposedfield | children_
| children exposedField.
viewer::object_t | viewerObject
| Handle for the renderer.
bounding_sphere | bsphere
| Cached copy of the bounding_sphere enclosing this node's children.

## Friends

class | group_class
| Class object for Group nodes.

## Classes

class | children_exposedfield
| children exposedField implementation. More...
class | add_children_listener
| addChildren event listener. More...
class | remove_children_listener
| removeChildren event listener. More...

## Constructor & Destructor Documentation

openvrml::vrml97_node::group_node::group_node | ( | const node_type & | type,
|  | const boost::shared_ptr< openvrml::scope > & | scope
| ) |

Construct.

Parameters:

  | type | the node_type associated with the node.
  | scope | the scope to which the node belongs.

openvrml::vrml97_node::group_node::~group_node | ( |  | ) | throw ()`[virtual]`

| Destroy.

## Member Function Documentation

const bounding_volume & openvrml::vrml97_node::group_node::bounding_volume | ( |  | ) | const`[virtual]`

Get the bounding volume.

Returns:
  the bounding volume associated with the node.

Reimplemented from openvrml::node.

Reimplemented in openvrml::vrml97_node::anchor_node, and openvrml::vrml97_node::transform_node.

bool openvrml::vrml97_node::group_node::modified | ( |  | ) | const`[virtual]`

Determine whether the node has been modified.

Returns:
  `true` if the node or one of its children has been modified, `false` otherwise.

Reimplemented from openvrml::node.

Reimplemented in openvrml::vrml97_node::collision_node.

const std::vector< node_ptr > & openvrml::vrml97_node::group_node::children | ( |  | ) | const throw ()`[virtual]`

Get the children in the scene graph.

Returns:
  the child nodes in the scene graph.

Implements openvrml::grouping_node.

void openvrml::vrml97_node::group_node::activate | ( | double | time,
|  | bool | isOver,
|  | bool | isActive,
|  | double * | p
| ) | `[virtual]`

| Pass on to enabled touchsensor child. Implements openvrml::grouping_node.

void openvrml::vrml97_node::group_node::render_nocull | ( | openvrml::viewer & | viewer,
|  | rendering_context | context
| ) |

| because children will already have done the culling, we don't need to repeat it here.

void openvrml::vrml97_node::group_node::do_render_child | ( | openvrml::viewer & | viewer,
|  | rendering_context | context
| ) | `[protected, virtual]`

Render the node.

Render each of the children.

Parameters:

  | viewer | a Viewer.
  | context | a rendering context.

Reimplemented from openvrml::child_node.

Reimplemented in openvrml::vrml97_node::anchor_node, openvrml::vrml97_node::billboard_node, and openvrml::vrml97_node::transform_node.

void openvrml::vrml97_node::group_node::recalc_bsphere | ( |  | ) | `[protected]`

| Recalculate the bounding volume. Reimplemented in openvrml::vrml97_node::transform_node.

## Friends And Related Function Documentation

openvrml::vrml97_node::group_node::group_class`[friend]`

| Class object for Group nodes.

## Member Data Documentation

sfvec3f openvrml::vrml97_node::group_node::bbox_center_`[protected]`

| bboxCenter field.

sfvec3f openvrml::vrml97_node::group_node::bbox_size_`[protected]`

| bboxSize field.

group_node::add_children_listener openvrml::vrml97_node::group_node::add_children_listener_`[protected]`

| addChildren eventIn handler.

group_node::remove_children_listener openvrml::vrml97_node::group_node::remove_children_listener_`[protected]`

| removeChildren eventIn handler.

group_node::children_exposedfield openvrml::vrml97_node::group_node::children_`[protected]`

| children exposedField.

viewer::object_t openvrml::vrml97_node::group_node::viewerObject`[protected]`

| Handle for the renderer.

bounding_sphere openvrml::vrml97_node::group_node::bsphere`[protected]`

| Cached copy of the bounding_sphere enclosing this node's children.