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:

Inheritance graph
[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_volumebounding_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< sfnodeappearance_
 appearance exposedField.
exposedfield< sfnodegeometry_
 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.