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

choice exposedField.

whichChoice exposedField.

The children currently in the scene graph.

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