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

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

# openvrml::vrml97_node::switch_node Class Reference

Inheritance diagram for openvrml::vrml97_node::switch_node:

[legend]
List of all members.

## Detailed Description

Switch node instances.

## Public Member Functions

| switch_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
| Construct.
virtual | ~switch_node () throw ()
| Destroy.
virtual bool | modified () const
| Determine whether the node has been modified.
virtual const openvrml::bounding_volume & | bounding_volume () const
| Get the bounding volume.
virtual const std::vector< node_ptr > & | children () const throw ()
| Get the children in the scene graph.
virtual void | activate (double timestamp, bool over, bool active, double *p)

## Private Member Functions

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

## Private Attributes

choice_exposedfield | choice_
| choice exposedField.
which_choice_exposedfield | which_choice_
| whichChoice exposedField.
mfnode | children_
| The children currently in the scene graph.
bounding_sphere | bsphere
| Cached copy of the bsphere enclosing this node's children.

## Friends

class | switch_class
| Class object for Switch nodes.

## Classes

class | choice_exposedfield
| choice exposedField implementation. More...
class | which_choice_exposedfield
| choice exposedField implementation. More...

## Constructor & Destructor Documentation

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

Construct.

Parameters:

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

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

| Destroy.

## Member Function Documentation

bool openvrml::vrml97_node::switch_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.

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

Get the bounding volume.

Returns:
  the bounding volume associated with the node.

Reimplemented from openvrml::node.

const std::vector< node_ptr > & openvrml::vrml97_node::switch_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::switch_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::switch_node::do_render_child | ( | openvrml::viewer & | viewer,
|  | rendering_context | context
| ) | `[private, virtual]`

Render the node.

The child corresponding to whichChoice is rendered. Nothing is rendered if whichChoice is -1.

Parameters:

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

Reimplemented from openvrml::child_node.

void openvrml::vrml97_node::switch_node::recalcBSphere | ( |  | ) | `[private, virtual]`

| Recalculate the bounding volume.

## Friends And Related Function Documentation

class openvrml::vrml97_node::switch_node::switch_class`[friend]`

| Class object for Switch nodes.

## Member Data Documentation

switch_node::choice_exposedfield openvrml::vrml97_node::switch_node::choice_`[private]`

| choice exposedField.

switch_node::which_choice_exposedfield openvrml::vrml97_node::switch_node::which_choice_`[private]`

| whichChoice exposedField.

mfnode openvrml::vrml97_node::switch_node::children_`[private]`

| The children currently in the scene graph.

bounding_sphere openvrml::vrml97_node::switch_node::bsphere`[private]`

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