| Home | Download | Screen shots | Discussion | Documentation |
|---|
Abstract base class for node implementations. More...
#include <openvrml/node_impl_util.h>

Classes | |
| class | event_emitter |
| Concrete event emitter class template. More... | |
| class | exposedfield |
| exposedField implementation. More... | |
Public Member Functions | |
| virtual | ~abstract_node ()=0 throw () |
| Destroy. More... | |
Public Member Functions inherited from openvrml::node | |
| virtual | ~node ()=0 throw () |
| Destructor. More... | |
| void | add_ref () const throw () |
| Increment the reference count. More... | |
| void | remove_ref () const throw () |
| Decrement the reference count. More... | |
| void | release () const throw () |
| Decrement the reference count; destroy the instance if the count drops to zero. More... | |
| size_t | use_count () const throw () |
| The number of owning references to the instance. More... | |
| const node_type & | type () const throw () |
The type information object for the node. More... | |
| const std::string & | id () const throw () |
Retrieve the name of this node. More... | |
| void | id (const std::string &node_id) throw ( std::bad_alloc ) |
Set the name of the node. More... | |
| const openvrml::scope & | scope () const throw () |
Get the scope to which the node belongs. More... | |
| openvrml::scene * | scene () const throw () |
Get the scene with which the node is associated. More... | |
| const std::vector < boost::intrusive_ptr< node > > & | impl_nodes () const throw () |
Get the implementation nodes of a PROTO instance. More... | |
| std::ostream & | print (std::ostream &out, size_t indent) const |
| Pretty print. More... | |
| void | initialize (openvrml::scene &scene, double timestamp) throw ( std::bad_alloc ) |
| Initialize the node. More... | |
| std::auto_ptr< field_value > | field (const std::string &id) const throw ( unsupported_interface , std::bad_alloc ) |
| Generalized field accessor. More... | |
| openvrml::event_listener & | event_listener (const std::string &id) throw ( unsupported_interface ) |
| Get an event listener. More... | |
| openvrml::event_emitter & | event_emitter (const std::string &id) throw ( unsupported_interface ) |
| Get an event emitter. More... | |
| void | shutdown (double timestamp) throw () |
| Shut down the node. More... | |
| bool | modified () const throw ( boost::thread_resource_error ) |
Determine whether the node has been modified. More... | |
| void | modified (bool value) throw ( boost::thread_resource_error ) |
| Set the modified flag. More... | |
Protected Member Functions | |
| abstract_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) | |
| Construct. More... | |
Protected Member Functions inherited from openvrml::node | |
| node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw () | |
| Construct. More... | |
| boost::shared_mutex & | scene_mutex () |
The scene mutex. More... | |
Protected Attributes | |
| exposedfield< sfnode > | metadata |
| metadata exposedField. More... | |
Private Member Functions | |
| virtual const field_value & | do_field (const std::string &id) const throw ( unsupported_interface ) |
Get a field value for a node. More... | |
| virtual openvrml::event_listener & | do_event_listener (const std::string &id) throw ( unsupported_interface ) |
| Get an event listener. More... | |
| virtual openvrml::event_emitter & | do_event_emitter (const std::string &id) throw ( unsupported_interface ) |
| Get an event emitter. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from openvrml::node | |
| static const boost::intrusive_ptr< node > | self_tag |
Special value used when initializing a script_node. More... | |
Static Protected Member Functions inherited from openvrml::node | |
| static void | emit_event (openvrml::event_emitter &emitter, double timestamp) throw ( std::bad_alloc ) |
| Emit an event. More... | |
Related Functions inherited from openvrml::node | |
| To * | node_cast (node *n) |
Downcast a node to one of the abstract node types. More... | |
| void | intrusive_ptr_add_ref (const node *n) |
| Increment the reference count. More... | |
| void | intrusive_ptr_release (const node *n) |
| Decrement the reference count. More... | |
| bool | is_proto_instance (const node &n) |
Check whether a node is a PROTO instance. More... | |
Abstract base class for node implementations.
abstract_node encapsulates the mechanisms for field access and mutation, event dispatch, and eventOut access.
| Derived | the type that inherits this class template. |
|
protected |
The derived type.
|
protected |
openvrml::sfbool listener. Provided for convenience.
|
protected |
openvrml::sfcolor listener. Provided for convenience.
|
protected |
openvrml::sffloat listener. Provided for convenience.
|
protected |
openvrml::sfdouble listener. Provided for convenience.
|
protected |
openvrml::sfimage listener. Provided for convenience.
|
protected |
openvrml::sfint32 listener. Provided for convenience.
|
protected |
openvrml::sfnode listener. Provided for convenience.
|
protected |
openvrml::sfrotation listener. Provided for convenience.
|
protected |
openvrml::sfstring listener. Provided for convenience.
|
protected |
openvrml::sftime listener. Provided for convenience.
|
protected |
openvrml::sfvec2f listener. Provided for convenience.
|
protected |
openvrml::sfvec2d listener. Provided for convenience.
|
protected |
openvrml::sfvec3f listener. Provided for convenience.
|
protected |
openvrml::sfvec3d listener. Provided for convenience.
|
protected |
openvrml::mfbool listener. Provided for convenience.
|
protected |
openvrml::mfcolor listener. Provided for convenience.
|
protected |
openvrml::mffloat listener. Provided for convenience.
|
protected |
openvrml::mfdouble listener. Provided for convenience.
|
protected |
openvrml::mfint32 listener. Provided for convenience.
|
protected |
openvrml::mfnode listener. Provided for convenience.
|
protected |
openvrml::mfrotation listener. Provided for convenience.
|
protected |
openvrml::mfstring listener. Provided for convenience.
|
protected |
openvrml::mftime listener. Provided for convenience.
|
protected |
openvrml::mfvec2f listener. Provided for convenience.
|
protected |
openvrml::mfvec2d listener. Provided for convenience.
|
protected |
openvrml::mfvec3f listener. Provided for convenience.
|
protected |
openvrml::mfvec3d listener. Provided for convenience.
|
protected |
openvrml::sfbool event emitter.
|
protected |
openvrml::sfcolor event emitter.
|
protected |
openvrml::sfdouble event emitter.
|
protected |
openvrml::sffloat event emitter.
|
protected |
openvrml::sfimage event emitter.
|
protected |
openvrml::sfint32 event emitter.
|
protected |
openvrml::sfnode event emitter.
|
protected |
openvrml::sfrotation event emitter.
|
protected |
openvrml::sfstring event emitter.
|
protected |
openvrml::sftime event emitter.
|
protected |
openvrml::sfvec2d event emitter.
|
protected |
openvrml::sfvec2f event emitter.
|
protected |
openvrml::sfvec3d event emitter.
|
protected |
openvrml::sfvec3f event emitter.
|
protected |
openvrml::mfcolor event emitter.
|
protected |
openvrml::mfdouble event emitter.
|
protected |
openvrml::mffloat event emitter.
|
protected |
openvrml::mfnode event emitter.
|
protected |
openvrml::mfrotation event emitter.
|
protected |
openvrml::mfstring event emitter.
|
protected |
openvrml::mftime event emitter.
|
protected |
openvrml::mfvec2d event emitter.
|
protected |
openvrml::mfvec2f event emitter.
|
protected |
openvrml::mfvec3d event emitter.
|
protected |
openvrml::mfvec3f event emitter.
|
pure virtual | |||||||||||||
Destroy.
|
protected |
Construct.
| [in] | type | the node_type associated with this node. |
| [in] | scope | the scope to which the node belongs. |
|
privatevirtual | ||||||||||||||
Get a field value for a node.
| [in] | id | a field name. |
| unsupported_interface | if the node has no field id. |
Implements openvrml::node.
|
privatevirtual | ||||||||||||||
Get an event listener.
This method is called by node::event_listener.
| [in] | id | eventIn identifier. |
| unsupported_interface | if the node has no eventIn id. |
Implements openvrml::node.
|
privatevirtual | ||||||||||||||
Get an event emitter.
This method is called by node::event_emitter.
| [in] | id | eventOut identifier. |
| unsupported_interface | if the node has no eventOut id. |
Implements openvrml::node.
|
protected |
metadata exposedField.