Home | Download | Screen shots | Discussion | Documentation |
---|
#include <openvrml/script.h>
Inheritance diagram for openvrml::script_node::script_node_type:
script_nodes
.
For internal use only.
Public Member Functions | |
script_node_type (script_node_metatype &class_) | |
Construct. | |
virtual | ~script_node_type () throw () |
Destroy. | |
void | add_interface (const node_interface &interface) throw ( std::bad_alloc , std::invalid_argument ) |
Add an interface. | |
Private Member Functions | |
virtual const node_interface_set & | do_interfaces () const throw () |
Get the interfaces for the node . | |
virtual const boost::intrusive_ptr< node > | do_create_node (const boost::shared_ptr< openvrml::scope > &scope, const initial_value_map &initial_values) const throw ( unsupported_interface , std::bad_cast , std::bad_alloc ) |
Clone the Script node that has this node_type . | |
Private Attributes | |
node_interface_set | interfaces_ |
Node interfaces. |
openvrml::script_node::script_node_type::script_node_type | ( | script_node_metatype & | class_ | ) | [explicit] |
openvrml::script_node::script_node_type::~script_node_type | ( | ) | throw () [virtual] |
Destroy.
void openvrml::script_node::script_node_type::add_interface | ( | const node_interface & | interface | ) | throw ( std::bad_alloc , std::invalid_argument ) |
Add an interface.
[in] | interface |
std::bad_alloc | if memory allocation fails. | |
std::invalid_argument | if the script_node_type already has an interface that conflicts with interface . |
const openvrml::node_interface_set & openvrml::script_node::script_node_type::do_interfaces | ( | ) | const throw () [private, virtual] |
Get the interfaces for the node
.
node
. Implements openvrml::node_type.
const boost::intrusive_ptr< openvrml::node > openvrml::script_node::script_node_type::do_create_node | ( | const boost::shared_ptr< openvrml::scope > & | scope, | |
const initial_value_map & | initial_values | |||
) | const throw ( unsupported_interface , std::bad_cast , std::bad_alloc ) [private, 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.
[in] | scope | the scope to which the node should belong. |
[in] | initial_values | a map of initial values for the node 's fields and exposedFields . |
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. |
Node interfaces.