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

openvrml::script_node::script_node_type Class Reference

Type objects for script_nodes. More...

Inheritance diagram for openvrml::script_node::script_node_type:

Inheritance graph
[legend]
Collaboration diagram for openvrml::script_node::script_node_type:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 script_node_type (script_node_class &class_)
 Construct.

virtual ~script_node_type () throw ()
 Destroy.

void add_interface (const node_interface &interface) throw (std::invalid_argument)
 Add an interface.

virtual const node_interface_setinterfaces () const throw ()
 Get the interfaces for the node.

virtual const node_ptr create_node (const scope_ptr &scope) const throw (std::bad_alloc)
 Clone the Script node that has this node_type.


Private Attributes

node_interface_set interfaces_
 Node interfaces.


Detailed Description

Type objects for script_nodes.

See also:
script_node::type


Constructor & Destructor Documentation

openvrml::script_node::script_node_type::script_node_type script_node_class class_  ) 
 

Construct.

Parameters:
class_ the node_class for script_nodes.

openvrml::script_node::script_node_type::~script_node_type  )  throw () [virtual]
 

Destroy.


Member Function Documentation

void openvrml::script_node::script_node_type::add_interface const node_interface interface  )  throw (std::invalid_argument)
 

Add an interface.

Parameters:
interface 
Exceptions:
std::invalid_argument if the script_node_type already has an interface that conflicts with interface.

const node_ptr openvrml::script_node::script_node_type::create_node const scope_ptr scope  )  const throw (std::bad_alloc) [virtual]
 

Clone the Script node that has this node_type.

Since the node_type for a script_node is only available once a script_node is instantiated, you have to have a script_node instance in order to be able to use this method. The "primordial" script_node instance must be created with a call to the script_node constructor.

Parameters:
scope 
Exceptions:
std::bad_alloc if memory allocation fails.

Implements openvrml::node_type.

const node_interface_set & openvrml::script_node::script_node_type::interfaces  )  const throw () [virtual]
 

Get the interfaces for the node.

Returns:
the interfaces for the node.

Implements openvrml::node_type.


Member Data Documentation

node_interface_set openvrml::script_node::script_node_type::interfaces_ [private]
 

Node interfaces.