openvrml::vrml97_node::abstract_base Class Reference

Inheritance diagram for openvrml::vrml97_node::abstract_base:
[legend]

List of all members.


Detailed Description

Abstract base class for VRML97 node implementations.

abstract_base encapsulates the mechanisms for field access and mutation, event dispatch, and eventOut access.


Public Member Functions

virtual ~abstract_base ()=0 throw ()
 Destroy.

Protected Member Functions

 abstract_base (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
 Construct.

Private Member Functions

virtual const field_valuedo_field (const std::string &id) const throw (unsupported_interface)
 Get a field value for a node.
virtual openvrml::event_listenerdo_event_listener (const std::string &id) throw (unsupported_interface)
 Get an event listener.
virtual openvrml::event_emitterdo_event_emitter (const std::string &id) throw (unsupported_interface)
 Get an event emitter.

Constructor & Destructor Documentation

openvrml::vrml97_node::abstract_base::~abstract_base (  )  throw () [pure virtual]

Destroy.

openvrml::vrml97_node::abstract_base::abstract_base ( const node_type type,
const boost::shared_ptr< openvrml::scope > &  scope 
) [protected]

Construct.

Parameters:
type the node_type associated with this node.
scope the scope to which the node belongs.


Member Function Documentation

const field_value & openvrml::vrml97_node::abstract_base::do_field ( const std::string &  id  )  const throw (unsupported_interface) [private, virtual]

Get a field value for a node.

Parameters:
id a field name.
Exceptions:
unsupported_interface if the node has no field id.

Implements openvrml::node.

event_listener & openvrml::vrml97_node::abstract_base::do_event_listener ( const std::string &  id  )  throw (unsupported_interface) [private, virtual]

Get an event listener.

This method is called by node::event_listener.

Parameters:
id eventIn identifier.
Returns:
the event listener.
Exceptions:
unsupported_interface if the node has no eventIn id.

Implements openvrml::node.

event_emitter & openvrml::vrml97_node::abstract_base::do_event_emitter ( const std::string &  id  )  throw (unsupported_interface) [private, virtual]

Get an event emitter.

This method is called by node::event_emitter.

Parameters:
id eventOut identifier.
Returns:
the event emitter.
Exceptions:
unsupported_interface if the node has no eventOut id.

Implements openvrml::node.