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

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

# openvrml::node_type Class Reference
[Nodes]

Inheritance diagram for openvrml::node_type:

[legend]
List of all members.

## Detailed Description

Type information object for `node`s.

## Public Member Functions
virtual | ~node_type ()=0 throw ()
| Destructor.
const openvrml::node_class & | node_class () const throw ()
| The class object associated with the `node_type`.
const std::string & | id () const throw ()
| The name of the `node_type`.
const node_interface_set & | interfaces () const throw ()
| Get the set of interfaces for the `node_type`.
const node_ptr | create_node (const boost::shared_ptr< scope > &scope, const initial_value_map &initial_values=initial_value_map()) const throw (unsupported_interface, std::bad_cast, std::bad_alloc)
## Protected Member Functions
| node_type (const openvrml::node_class &c, const std::string &id) throw (std::bad_alloc)
| Constructor.
## Private Member Functions
virtual const node_interface_set & | do_interfaces () const =0 throw ()
| Get the set of interfaces for the `node_type`.
virtual const node_ptr | do_create_node (const boost::shared_ptr< scope > &scope, const initial_value_map &initial_values) const =0 throw (unsupported_interface, std::bad_cast, std::bad_alloc)
## Private Attributes
const openvrml::node_class & | node_class_
| The class object associated with the `node_type`.
const std::string | id_
| The name of the `node_type`.

## Constructor & Destructor Documentation

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

| Destructor.

openvrml::node_type::node_type | ( | const openvrml::node_class & | c,
|  | const std::string & | id
| ) | throw (std::bad_alloc)`[protected]`

  | Constructor. Parameters:
  | c | the class object associated with the `node_type`.
  | id | the name for the `node_type`.
  Exceptions:
  | std::bad_alloc | if memory allocation fails.

## Member Function Documentation

const node_class & openvrml::node_type::node_class | ( |  | ) | const throw ()

| The class object associated with the `node_type`. Returns: the class object associated with the `node_type`.

const std::string & openvrml::node_type::id | ( |  | ) | const throw ()

| The name of the `node_type`. Returns: the name of the `node_type`.

const node_interface_set & openvrml::node_type::interfaces | ( |  | ) | const throw ()

| Get the set of interfaces for the `node_type`. This function delegates to `node_type::do_interfaces`. Returns: the set of interfaces.

const node_interface_set & openvrml::node_type::do_interfaces | ( |  | ) | const throw ()`[private, pure virtual]`

| Get the set of interfaces for the `node_type`. Subclasses must implement this function. Returns: the set of interfaces. Implemented in openvrml::script_node::script_node_type.

## Member Data Documentation

openvrml::node_class & openvrml::node_type::node_class_`[private]`

| The class object associated with the `node_type`. For internal use only.

const std::string openvrml::node_type::id_`[private]`

| The name of the `node_type`. For internal use only.