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

# openvrml::appearance_node Class Reference

Abstract base class for appearance nodes. More...

`#include <openvrml/node.h>`

Inheritance diagram for openvrml::appearance_node:
[legend]

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_node * | to_appearance () throw ()
| Cast to an `appearance_node`.
virtual const boost::intrusive_ptr< node > & | do_material () const =0 throw ()
| Get the material node associated with this appearance node.
virtual const boost::intrusive_ptr< node > & | do_texture () const =0 throw ()
| Get the texture node associated with this appearance node.
virtual const boost::intrusive_ptr< node > & | do_texture_transform () const =0 throw ()
| Get the texture transform node associated with this appearance node.
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.

const boost::intrusive_ptr< openvrml::node > & openvrml::appearance_node::do_material | ( |  | ) | const throw ()`[private, pure virtual]`

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::do_texture | ( |  | ) | const throw ()`[private, pure virtual]`

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::do_texture_transform | ( |  | ) | const throw ()`[private, pure virtual]`

Get the texture transform node associated with this appearance node.

Returns:
  the `texture_transform_node` associated with this `appearance_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`.