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

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

# openvrml::vrml97_node::background_class Class Reference

Inheritance diagram for openvrml::vrml97_node::background_class:

[legend]
List of all members.

## Detailed Description

Class object for Background nodes.

## Public Member Functions

| background_class (openvrml::browser &browser)
| Construct.
virtual | ~background_class () throw ()
| Destroy.
void | set_first (background_node &background) throw ()
| Set the first Background node in the world.
bool | has_first () const throw ()
| Check to see if the first node has been set.
void | bind (background_node &background, double timestamp) throw (std::bad_alloc)
| Push a background_node on the top of the bound node stack.
void | unbind (background_node &background, double timestamp) throw ()
| Remove a background_node from the bound node stack.

## Private Types

typedef std::vector< background_node * > | bound_nodes_t
| A bound Background node stack.

## Private Member Functions

virtual void | do_initialize (viewpoint_node *initialViewpoint, double timestamp) throw ()
virtual void | do_render (viewer &v) const throw ()
| node_class-specific rendering.
virtual const node_type_ptr | do_create_type (const std::string &id, const node_interface_set &interfaces) const throw (unsupported_interface, std::bad_alloc)
| Create a node_type.

## Private Attributes

background_node * | first
| The first Background node in the initial scene graph.
bound_nodes_t | bound_nodes
| The bound Background node stack.

## Member Typedef Documentation

openvrml::vrml97_node::background_class::bound_nodes_t`[private]`

| A bound Background node stack.

## Constructor & Destructor Documentation

openvrml::vrml97_node::background_class::background_class | ( | openvrml::browser & | browser | ) | `[explicit]`

Construct.

Parameters:

  | browser | the browser associated with this class object.

openvrml::vrml97_node::background_class::~background_class | ( |  | ) | throw ()`[virtual]`

| Destroy.

## Member Function Documentation

void openvrml::vrml97_node::background_class::set_first | ( | background_node & | background | ) | throw ()

Set the first Background node in the world.

The first Background node in the world is used as the initial background. This method is used by Background::do_initialize.

Parameters:

  | background | a Background node.

bool openvrml::vrml97_node::background_class::has_first | ( |  | ) | const throw ()

Check to see if the first node has been set.

This method is used by background_node::do_initialize.

Returns:
  `true` if the first node has already been set; `false` otherwise.

void openvrml::vrml97_node::background_class::bind | ( | background_node & | background,
|  | double | timestamp
| ) | throw (std::bad_alloc)

Push a background_node on the top of the bound node stack.

Parameters:

  | background | the node to bind.
  | timestamp | the current time.

Exceptions:

  | std::bad_alloc | if memory allocation fails.

void openvrml::vrml97_node::background_class::unbind | ( | background_node & | background,
|  | double | timestamp
| ) | throw ()

Remove a background_node from the bound node stack.

Parameters:

  | background | the node to unbind.
  | timestamp | the current time.

void openvrml::vrml97_node::background_class::do_render | ( | viewer & | v | ) | const throw ()`[private, virtual]`

node_class-specific rendering.

Render the active Background node.

Parameters:

  | v | viewer.

Reimplemented from openvrml::node_class.

const node_type_ptr openvrml::vrml97_node::background_class::do_create_type | ( | const std::string & | id,
|  | const node_interface_set & | interfaces
| ) | const throw (unsupported_interface, std::bad_alloc)`[private, virtual]`

Create a node_type.

Parameters:

  | id | the name for the new node_type.
  | interfaces | the interfaces for the new node_type.

Returns:
  a node_type_ptr to a node_type capable of creating Background nodes.

Exceptions:

  | unsupported_interface | if `interfaces` includes an interface not supported by background_class.
  | std::bad_alloc | if memory allocation fails.

Implements openvrml::node_class.

## Member Data Documentation

background_node * openvrml::vrml97_node::background_class::first`[private]`

| The first Background node in the initial scene graph.

background_class::bound_nodes_t openvrml::vrml97_node::background_class::bound_nodes`[private]`

| The bound Background node stack.