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:

Inheritance graph
[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_volumebounding_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  add_children_listener
 addChildren event listener. More...
class  children_exposedfield
 children exposedField implementation. 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.