Home | Download | Screen shots | Discussion | Documentation |
---|
nodes
.
More...
#include <openvrml/node.h>
Public Member Functions | |
virtual | ~node_type ()=0 throw () |
Destructor. | |
const node_metatype & | metatype () 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 boost::intrusive_ptr< node > | 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 ) |
Create a new node with this node_type . | |
Protected Member Functions | |
node_type (const node_metatype &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 boost::intrusive_ptr< node > | 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 ) |
Create a new node with this node_type . | |
Private Attributes | |
const node_metatype & | metatype_ |
The class object associated with the node_type . | |
const std::string | id_ |
The name of the node_type . | |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator!= (const node_type &lhs, const node_type &rhs) throw() |
Compare for inequality. |
nodes
. openvrml::node_type::~node_type | ( | ) | throw () [pure virtual] |
Destructor.
openvrml::node_type::node_type | ( | const node_metatype & | c, | |
const std::string & | id | |||
) | throw ( std::bad_alloc ) [protected] |
const openvrml::node_metatype & openvrml::node_type::metatype | ( | ) | const throw () |
const std::string & openvrml::node_type::id | ( | ) | const throw () |
const openvrml::node_interface_set & openvrml::node_type::interfaces | ( | ) | const throw () |
Get the set of interfaces for the node_type
.
This function delegates to do_interfaces
.
const boost::intrusive_ptr< openvrml::node > openvrml::node_type::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 ) |
Create a new node with this node_type
.
[in] | scope | the scope to which the new node should belong. |
[in] | initial_values | a map of initial values for the node 's fields and exposedFields . |
boost::intrusive_ptr
to a new node.unsupported_interface | if initial_values specifies a field name that is not supported by the node type. | |
std::bad_cast | if a value in initial_values is the wrong type. | |
std::bad_alloc | if memory allocation fails. |
const openvrml::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.
Implemented in openvrml::null_node_type, openvrml::node_impl_util::node_type_impl< Node >, and openvrml::script_node::script_node::script_node_type.
const boost::intrusive_ptr< openvrml::node > openvrml::node_type::do_create_node | ( | const boost::shared_ptr< scope > & | scope, | |
const initial_value_map & | initial_values | |||
) | const throw ( unsupported_interface , std::bad_cast , std::bad_alloc ) [private, pure virtual] |
Create a new node with this node_type
.
Subclasses must implement this function.
[in] | scope | the scope to which the new node should belong. |
[in] | initial_values | a map of initial values for the node 's fields and exposedFields . |
boost::intrusive_ptr
to a new node.unsupported_interface | if initial_values specifies a field name that is not supported by the node type. | |
std::bad_cast | if a value in initial_values is the wrong type. | |
std::bad_alloc | if memory allocation fails. |
Compare for inequality.
[in] | lhs | |
[in] | rhs |
true
if lhs
and rhs
are not equal; false
otherwise.
const std::string openvrml::node_type::id_ [private] |