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

# openvrml::node_impl_util::abstract_node_type Class Reference

Abstract base for `openvrml::node_type` subclasses. More...

`#include <openvrml/node_impl_util.h>`

Inheritance diagram for openvrml::node_impl_util::abstract_node_type:
[legend]

List of all members.

## Public Member Functions
virtual | ~abstract_node_type ()=0 throw ()
| Destroy.
virtual const openvrml::field_value & | field_value (const openvrml::node &node, const std::string &id) const =0 throw ( openvrml::unsupported_interface )
| `node's` field_value corresponding to `id`.
virtual openvrml::event_listener & | event_listener (openvrml::node &node, const std::string &id) const =0 throw ( openvrml::unsupported_interface )
| `node's` `openvrml::event_listener` corresponding to the eventIn identifier `id`.
virtual openvrml::event_emitter & | event_emitter (openvrml::node &node, const std::string &id) const =0 throw ( openvrml::unsupported_interface )
| `node's` `openvrml::event_emitter` corresponding to the eventOut identifier `id`.
## Protected Member Functions
| abstract_node_type (const openvrml::node_metatype &metatype, const std::string &id)
| Construct.

## Detailed Description

Abstract base for `openvrml::node_type` subclasses.

This class is realized by instances of the `node_type_impl` class template.

See also:
  openvrml::node_impl_util::node_type_impl

## Constructor & Destructor Documentation

openvrml::node_impl_util::abstract_node_type::~abstract_node_type | ( |  | ) | throw ()`[pure virtual]`

Destroy.

openvrml::node_impl_util::abstract_node_type::abstract_node_type | ( | const openvrml::node_metatype & | metatype,
|  | const std::string & | id |
| ) |  |  | `[protected]`

Construct.

Parameters:

  `[in]` | metatype | the `node_metatype`.
  `[in]` | id | the `node_type` identifier.

## Member Function Documentation

const openvrml::field_value & openvrml::node_impl_util::abstract_node_type::field_value | ( | const openvrml::node & | node,
|  | const std::string & | id |
| ) |  |  | const throw ( openvrml::unsupported_interface )`[pure virtual]`

`node's` field_value corresponding to `id`.

Parameters:

  `[in]` | node | the `openvrml::node` for which to return the `openvrml::field_value`.
  `[in]` | id | field identifier.

Returns:
  `node's` `openvrml::field_value` corresponding to the field identifier `id`.

Exceptions:

  | openvrml::unsupported_interface | if `node` has no field `id`.

Implemented in openvrml::node_impl_util::node_type_impl< Node >.

const openvrml::event_listener & openvrml::node_impl_util::abstract_node_type::event_listener | ( | openvrml::node & | node,
|  | const std::string & | id |
| ) |  |  | const throw ( openvrml::unsupported_interface )`[pure virtual]`

`node's` `openvrml::event_listener` corresponding to the eventIn identifier `id`.

Parameters:

  `[in]` | node | the `openvrml::node` for which to return the `openvrml::event_listener`.
  `[in]` | id | eventIn identifier.

Returns:
  `node's` `openvrml::event_listener` corresponding to the eventIn identifier `id`.

Exceptions:

  | openvrml::unsupported_interface | if `node` has no eventIn `id`.

Implemented in openvrml::node_impl_util::node_type_impl< Node >.

const openvrml::event_emitter & openvrml::node_impl_util::abstract_node_type::event_emitter | ( | openvrml::node & | node,
|  | const std::string & | id |
| ) |  |  | const throw ( openvrml::unsupported_interface )`[pure virtual]`

`node's` `openvrml::event_emitter` corresponding to the eventOut identifier `id`.

Parameters:

  `[in]` | node | the `openvrml::node` for which to return the `openvrml::event_emitter`.
  `[in]` | id | eventOut identifier.

Returns:
  `node's` `openvrml::event_emitter` corresponding to the eventOut identifier `id`.

Exceptions:

  | openvrml::unsupported_interface | if `node` has no eventOut `id`.

Implemented in openvrml::node_impl_util::node_type_impl< Node >.