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:

Inheritance graph
[legend]
List of all members.

Detailed Description

Type information object for nodes.


Public Member Functions

virtual ~node_type ()=0 throw ()
 Destructor.
const openvrml::node_classnode_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_setinterfaces () 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_setdo_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_classnode_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.