TimeDriven is a mix-in class for all objects whose state or behavior is a function of time.
How such objects are effected by time is entirely up to them. They can be as simple as an animation curve, or as complex as a rigid body dynamics engine.
#include <TimeDriven.h>
Public Member Functions |
|
TimeDriven () | |
virtual | ~TimeDriven () |
Static Public Member Functions |
|
static void | advanceAllToTime (const double t, bool force=false) |
Time is driven by the dispatch of events.
|
|
Protected Member Functions |
|
virtual void | advanceToTime (const double t)=0 |
Implement this method to define your
response to the progression of time. |
|
Protected Attributes |
|
double | myLastTime |
friend | TimeDistributor |
TimeDriven | ( | ) |
virtual ~TimeDriven | ( | ) | [virtual] |
static void advanceAllToTime | ( | const double | t, |
bool | force =
false |
||
) | [static] |
Time is driven by the dispatch of events.
Each event has a time stamp and before it is dispatched all time driven objects are advanced to that time so that any and all consequences of the event are applied to the correct state of the model. If force is true this method will accept backward time steps, otherwise calls attempting to move time in reverse are ignored.
virtual void advanceToTime | ( | const double | t | ) | [protected, pure virtual] |
Implement this method to define your response to the progression of time.
double
myLastTime [protected] |
friend
TimeDistributor [protected] |