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

openvrml::geometry_node Class Reference

Abstract base class for geometry nodes. More...

Inheritance diagram for openvrml::geometry_node:

Inheritance graph
[legend]
Collaboration diagram for openvrml::geometry_node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~geometry_node ()=0 throw ()
 Destroy.

virtual const geometry_nodeto_geometry () const throw ()
 Cast to a geometry_node.

virtual geometry_nodeto_geometry () throw ()
 Cast to a geometry_node.

virtual viewer::object_t insert_geometry (openvrml::viewer &v, rendering_context context)=0
virtual const color_nodecolor () const throw ()
 Get the color node (if any) associated with this geometry.


Protected Member Functions

 geometry_node (const node_type &type, const scope_ptr &scope) throw ()
 Construct.


Detailed Description

Abstract base class for geometry nodes.


Constructor & Destructor Documentation

openvrml::geometry_node::geometry_node const node_type type,
const scope_ptr scope
throw () [protected]
 

Construct.

Parameters:
type the node_type associated with the node.
scope the Scope the node belongs to.

Member Function Documentation

const color_node * openvrml::geometry_node::color  )  const throw () [virtual]
 

Get the color node (if any) associated with this geometry.

Returns:
the color_node associated associated with this geometry, or 0 if there is no such node.

Todo:
Reevaluate the way the renderer visits geometry nodes; potentially eliminate this method.

Reimplemented in openvrml::vrml97_node::abstract_indexed_set_node.

viewer::object_t openvrml::geometry_node::insert_geometry openvrml::viewer v,
rendering_context  context
[pure virtual]
 

Parameters:
v viewer.
context rendering context.
Returns:
object identifier for the inserted geometry.

Implemented in openvrml::vrml97_node::box_node, openvrml::vrml97_node::cone_node, openvrml::vrml97_node::cylinder_node, openvrml::vrml97_node::elevation_grid_node, openvrml::vrml97_node::extrusion_node, openvrml::vrml97_node::indexed_face_set_node, openvrml::vrml97_node::indexed_line_set_node, openvrml::vrml97_node::point_set_node, openvrml::vrml97_node::sphere_node, and openvrml::vrml97_node::text_node.

geometry_node * openvrml::geometry_node::to_geometry  )  throw () [virtual]
 

Cast to a geometry_node.

Returns:
a pointer to this geometry_node.

Reimplemented from openvrml::node.

const geometry_node * openvrml::geometry_node::to_geometry  )  const throw () [virtual]
 

Cast to a geometry_node.

Returns:
a pointer to this geometry_node.

Reimplemented from openvrml::node.