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. |