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

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

# openvrml::vrml97_node::shape_node Class Reference

Inheritance diagram for openvrml::vrml97_node::shape_node:

[legend]
List of all members.

## Detailed Description

Represents Shape node instances.

## Public Member Functions

| shape_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
| Construct.
virtual | ~shape_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.

## Private Member Functions

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

## Private Attributes

exposedfield< sfnode > | appearance_
| appearance exposedField.
exposedfield< sfnode > | geometry_
| geometry exposedField.
viewer::object_t | viewerObject
| A reference to the node's previously used rendering data.

## Friends

class | shape_class
| Class object for Shape instances.

## Constructor & Destructor Documentation

openvrml::vrml97_node::shape_node::shape_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::shape_node::~shape_node | ( |  | ) | throw ()`[virtual]`

| Destroy.

## Member Function Documentation

bool openvrml::vrml97_node::shape_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::shape_node::bounding_volume | ( |  | ) | const`[virtual]`

Get the bounding volume.

Returns:
  the bounding volume associated with the node.

Reimplemented from openvrml::node.

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

Render the node.

Parameters:

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

Reimplemented from openvrml::child_node.

## Friends And Related Function Documentation

openvrml::vrml97_node::shape_node::shape_class`[friend]`

| Class object for Shape instances.

## Member Data Documentation

exposedfield< sfnode > openvrml::vrml97_node::shape_node::appearance_`[private]`

| appearance exposedField.

exposedfield< sfnode > openvrml::vrml97_node::shape_node::geometry_`[private]`

| geometry exposedField.

viewer::object_t openvrml::vrml97_node::shape_node::viewerObject`[private]`

| A reference to the node's previously used rendering data. If supported by the Viewer implementation, this member holds a reference to the node's rendering data once the node has already been rendered once. The intent is to capitalize on USE references in the VRML scene graph.