openvrml::exposedfield< FieldValue > Class Template Reference
Class template to simplify implementation of exposedFields.
More...
#include <openvrml/exposedfield.h>
List of all members.
Detailed Description
template<typename FieldValue>
class openvrml::exposedfield< FieldValue >
Class template to simplify implementation of exposedFields.
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.
- Template Parameters:
-
Constructor & Destructor Documentation
template<typename FieldValue >
template<typename FieldValue>
template<typename FieldValue>
Member Function Documentation
template<typename FieldValue>
| void openvrml::exposedfield< FieldValue >::do_process_event |
( |
const FieldValue & |
value, |
|
|
double |
timestamp | |
|
) |
| | throw ( std::bad_alloc ) [inline, private, virtual] |
template<typename FieldValue>
| void openvrml::exposedfield< FieldValue >::event_side_effect |
( |
const FieldValue & |
value, |
|
|
double |
timestamp | |
|
) |
| | throw ( std::bad_alloc ) [inline, private, virtual] |
Called by exposedfield<FieldValue>::do_process_event.
Subclasses should override this method to implement event handling functionality specific to a particular exposedField. The default implementation of this function does nothing.
- Template Parameters:
-
- Parameters:
-
| [in] | value | new value. |
| [in] | timestamp | the current time. |
- Exceptions:
-
| std::bad_alloc | if memory allocation fails. |