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

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

# openvrml::vrml97_node::abstract_base Class Reference

Inheritance diagram for openvrml::vrml97_node::abstract_base:

[legend]
List of all members.

## Detailed Description

Abstract base class for VRML97 node implementations.

abstract_base encapsulates the mechanisms for field access and mutation, event dispatch, and eventOut access.

## Public Member Functions

virtual | ~abstract_base ()=0 throw ()
| Destroy.

## Protected Member Functions

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

## Private Member Functions

virtual const field_value & | do_field (const std::string &id) const throw (unsupported_interface)
| Get a field value for a node.
virtual openvrml::event_listener & | do_event_listener (const std::string &id) throw (unsupported_interface)
| Get an event listener.
virtual openvrml::event_emitter & | do_event_emitter (const std::string &id) throw (unsupported_interface)
| Get an event emitter.

## Constructor & Destructor Documentation

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

| Destroy.

openvrml::vrml97_node::abstract_base::abstract_base | ( | const node_type & | type,
|  | const boost::shared_ptr< openvrml::scope > & | scope
| ) | `[protected]`

Construct.

Parameters:

  | type | the node_type associated with this node.
  | scope | the scope to which the node belongs.

## Member Function Documentation

const field_value & openvrml::vrml97_node::abstract_base::do_field | ( | const std::string & | id | ) | const throw (unsupported_interface)`[private, virtual]`

Get a field value for a node.

Parameters:

  | id | a field name.

Exceptions:

  | unsupported_interface | if the node has no field `id`.

Implements openvrml::node.

event_listener & openvrml::vrml97_node::abstract_base::do_event_listener | ( | const std::string & | id | ) | throw (unsupported_interface)`[private, virtual]`

Get an event listener.

This method is called by node::event_listener.

Parameters:

  | id | eventIn identifier.

Returns:
  the event listener.

Exceptions:

  | unsupported_interface | if the node has no eventIn `id`.

Implements openvrml::node.

event_emitter & openvrml::vrml97_node::abstract_base::do_event_emitter | ( | const std::string & | id | ) | throw (unsupported_interface)`[private, virtual]`

Get an event emitter.

This method is called by node::event_emitter.

Parameters:

  | id | eventOut identifier.

Returns:
  the event emitter.

Exceptions:

  | unsupported_interface | if the node has no eventOut `id`.

Implements openvrml::node.