openvrml::vrml97_node::abstract_base Class Reference
Abstract base class for VRML97 node implementations.
More...
Inheritance diagram for openvrml::vrml97_node::abstract_base:
[legend]Collaboration diagram for openvrml::vrml97_node::abstract_base:
[legend]List of all members.
|
Public Member Functions |
|
virtual | ~abstract_base ()=0 throw () |
| | Destroy.
|
Protected Member Functions |
| | abstract_base (const node_type &type, const scope_ptr &scope) |
| | Construct.
|
Private Member Functions |
| virtual void | do_field (const std::string &id, const field_value &value) throw (unsupported_interface, std::bad_cast, std::bad_alloc) |
| | Set a field value for a node.
|
| virtual const field_value & | do_field (const std::string &id) const throw (unsupported_interface) |
| | Get a field value for a node.
|
| virtual void | do_process_event (const std::string &id, const field_value &value, double timestamp) throw (unsupported_interface, std::bad_cast, std::bad_alloc) |
| | Process an event.
|
| virtual const field_value & | do_eventout (const std::string &id) const throw (unsupported_interface) |
| | Get an eventOut value for a node.
|
Detailed Description
Abstract base class for VRML97 node implementations.
abstract_base encapsulates the mechanisms for field access and mutation, event dispatch, and eventOut access.
Constructor & Destructor Documentation
| openvrml::vrml97_node::abstract_base::abstract_base |
( |
const node_type & |
type, |
|
|
const scope_ptr & |
scope |
|
) |
[protected] |
|
|
|
Construct.
- Parameters:
-
| type | the node_type associated with this node. |
| scope | the scope to which the node belongs. |
|
Member Function Documentation
|
|
Get an eventOut value for a node.
- Parameters:
-
- Exceptions:
-
| unsupported_interface | if the node has no eventOut id. |
Implements openvrml::node. |
|
|
Get a field value for a node.
- Parameters:
-
- Exceptions:
-
| unsupported_interface | if the node has no field id. |
Implements openvrml::node. |
| void openvrml::vrml97_node::abstract_base::do_field |
( |
const std::string & |
id, |
|
|
const field_value & |
value |
|
) |
throw (unsupported_interface, std::bad_cast, std::bad_alloc) [private, virtual] |
|
|
|
Set a field value for a node.
- Parameters:
-
- Exceptions:
-
| unsupported_interface | if the node has no field id. |
| std::bad_cast | if value is not the correct type. |
| std::bad_alloc | if memory allocation fails. |
- Precondition:
value must be of the correct type.
Implements openvrml::node. |
| void openvrml::vrml97_node::abstract_base::do_process_event |
( |
const std::string & |
id, |
|
|
const field_value & |
value, |
|
|
double |
timestamp |
|
) |
throw (unsupported_interface, std::bad_cast, std::bad_alloc) [private, virtual] |
|
|
|
Process an event.
- Parameters:
-
| id | an eventIn name. |
| value | a field_value. |
| timestamp | the current time. |
- Exceptions:
-
| unsupported_interface | if the node has no eventIn id. |
| std::bad_cast | if value is not the correct type. |
| std::bad_alloc | if memory allocation fails. |
- Precondition:
value must be of the correct type.
Implements openvrml::node. |