Home | Download | Screen shots | Discussion | Documentation |
---|
exposedfield
conveniently implements an event_listener
and an event_emitter
. Trivial exposedFields can be implemented simply by instantiating this template with a FieldValue. For the purposes of OpenVRML, a trivial exposedField is one that has no side-effects. That is, it simply receives an event, updates an internal value, and fires an eventOut. Nontrivial exposedFields (i.e., those with side-effects) can generally be implemented by inheriting an instance of this class template and overriding exposedfield<FieldValue>::event_side_effect
.
Public Member Functions | |
exposedfield (openvrml::node &node, const typename FieldValue::value_type &value=typename FieldValue::value_type()) | |
Construct. | |
virtual | ~exposedfield () throw () |
Destroy. | |
Private Member Functions | |
virtual void | do_process_event (const FieldValue &value, double timestamp) throw (std::bad_alloc) |
Process an event. | |
virtual void | event_side_effect (const FieldValue &value, double timestamp) throw (std::bad_alloc) |
Called by exposedfield<FieldValue>::do_process_event . |
|
Construct.
|
|
Destroy.
|
|
Process an event. This function performs the following steps:
Implements openvrml::field_value_listener< FieldValue >. |
|