openvrml::appearance_node Class Reference

Abstract base class for appearance nodes. More...

#include <openvrml/node.h>

Inheritance diagram for openvrml::appearance_node:

List of all members.


Public Member Functions

virtual ~appearance_node ()=0 throw ()
 Destroy.
void render_appearance (viewer &v, rendering_context context)
 Insert appearance when rendering.
const boost::intrusive_ptr
< node > & 
material () const throw ()
 Get the material node associated with this appearance node.
const boost::intrusive_ptr
< node > & 
texture () const throw ()
 Get the texture node associated with this appearance node.
const boost::intrusive_ptr
< node > & 
texture_transform () const throw ()
 Get the texture transform node associated with this appearance node.

Protected Member Functions

 appearance_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw ()
 Construct.

Private Member Functions

virtual appearance_nodeto_appearance () throw ()
 Cast to an appearance_node.
virtual const
boost::intrusive_ptr< node > & 
do_material () const =0 throw ()
virtual const
boost::intrusive_ptr< node > & 
do_texture () const =0 throw ()
virtual const
boost::intrusive_ptr< node > & 
do_texture_transform () const =0 throw ()
virtual void do_render_appearance (viewer &v, rendering_context context)
 render_appearance implementation.

Detailed Description

Abstract base class for appearance nodes.

Constructor & Destructor Documentation

openvrml::appearance_node::~appearance_node (  )  throw () [pure virtual]

Destroy.

openvrml::appearance_node::appearance_node ( const node_type type,
const boost::shared_ptr< openvrml::scope > &  scope 
) throw () [protected]

Construct.

Parameters:
[in] type the node_type associated with the node.
[in] scope the scope the node belongs to.


Member Function Documentation

void openvrml::appearance_node::render_appearance ( viewer v,
rendering_context  context 
)

Insert appearance when rendering.

Parameters:
[in,out] v viewer.
[in] context rendering_context.

const boost::intrusive_ptr< openvrml::node > & openvrml::appearance_node::material (  )  const throw ()

Get the material node associated with this appearance node.

Returns:
the material_node associated with this appearance_node.

const boost::intrusive_ptr< openvrml::node > & openvrml::appearance_node::texture (  )  const throw ()

Get the texture node associated with this appearance node.

Returns:
the texture_node associated with this appearance_node.

const boost::intrusive_ptr< openvrml::node > & openvrml::appearance_node::texture_transform (  )  const throw ()

Get the texture transform node associated with this appearance node.

Returns:
the texture_transform_node associated with this appearance_node.

openvrml::appearance_node * openvrml::appearance_node::to_appearance (  )  throw () [private, virtual]

Cast to an appearance_node.

Returns:
a pointer to this appearance_node.

Reimplemented from openvrml::node.

void openvrml::appearance_node::do_render_appearance ( viewer v,
rendering_context  context 
) [private, virtual]

render_appearance implementation.

Parameters:
[in,out] v viewer.
[in] context rendering_context.