Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

openvrml::vrml97_node::abstract_base Class Reference

Inheritance diagram for openvrml::vrml97_node::abstract_base:

Inheritance graph
[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.