![]() |
VR-Forces 4.0.4 Class Documentation
|
Description: The Exercise Clock keeps track of current simulated time. More...

Public Member Functions | |
| DtExerciseClock () | |
| default constructor | |
| DtExerciseClock (DtSimManager *simManager) | |
| useful constructor | |
| DtExerciseClock (const DtExerciseClock &orig) | |
| copy constructor | |
| DtExerciseClock & | operator= (const DtExerciseClock &orig) |
| assignment operator | |
| virtual | ~DtExerciseClock () |
| destructor | |
| virtual void | init () |
| Initializes the clock - must be called before any other member functions are called. | |
| virtual void | reset () |
| Initialize the clock to 00:00:00 elapsed time. | |
| virtual void | tick () |
| Advance simulation time, if not paused. | |
| virtual void | pause () |
| Tell tick() not to advance simulation time. | |
| virtual void | resume () |
| Tells tick() to resume advancing simluation time. | |
| virtual bool | isPaused () const |
| Returns true if system is paused, false otherwise. | |
| virtual void | setFixedFrameMode (DtTime dT) |
| Tells the exercise clock to use a best effort fixed frame (constant dT). | |
| virtual bool | isFixedFrameMode () |
| virtual void | setRunToCompleteFrameMode () |
| Go into variable frame (run to complete) mode. | |
| virtual bool | isRunToCompleteFrameMode () |
| virtual void | setHybridFrameMode (DtTime dT) |
| Go into a hybrid mode of fixed dT run-to complete. | |
| virtual bool | isHybridFrameMode () |
| virtual void | setFixedFrameRate (DtTime dT) |
| Change the value to be used in fixed frame or hybrid frame mode. | |
| virtual DtTime | fixedFrameRate () |
| Get the curent rate if in fixed frame or hybrid frame mode; otherwise, returns 0.0. | |
| virtual void | setTimeMultiplier (DtFloat64 timeMultiplier) |
| Set faster or slower than real-time operation (the range of values for which the system will perform in a rational manner have yet to be determined.) | |
| virtual DtFloat64 | timeMultiplier () const |
| Returns time multiplier, a real scalar. | |
| virtual DtString & | elapsedSimTimeString (DtString &strBuffer) const |
| Returns elapsed time as a string in the form ddd:hh:mm:ss. | |
| virtual void | setExerciseStartTime (DtTime time) |
| Set exercise start time in seconds. | |
| virtual DtTime | exerciseStartTime () const |
| Use this to get the time the exercise started, expressed in seconds. | |
| virtual DtString & | exerciseStartTimeString (DtString &strBuffer) const |
| virtual DtTime | exerciseTime () const |
| Returns current exercise time (exercise start time + elapsed time). | |
| virtual DtString & | exerciseTimeString (DtString &strBuffer) const |
| virtual void | set_dT (DtTime dT) |
| Force a dT value (if called after tick!); note - this does not update elapsed time. | |
| virtual DtTime | dT () const |
| Returns dT, in seconds. | |
| virtual double | simTimeScale () const |
| virtual void | registerInterfaceCallbacks () |
| Register callbacks on the sim manager's interface message executive. | |
Static Public Member Functions | |
| static void | setTimeMultiplierCallback (DtSimMessage *msg, void *usr) |
| Callback registered on the simManager's Message executive. | |
| static void | frameModeCallback (DtSimMessage *msg, void *usr) |
| Callback registered on the simManager's Message executive. | |
Protected Types | |
| enum | FrameMode { FmRunToComplete, FmFixed, FmHybrid } |
Protected Member Functions | |
| virtual void | processSetTimeMultiplier (const DtIfSetTimeMultiplier &timeMultiplerData) |
| Sets time multiplier with value given in message. | |
Protected Attributes | |
| enum DtExerciseClock::FrameMode | myFrameMode |
| bool | myFirstFrame |
| bool | myPaused |
| DtTime | myLastRealTime |
| DtTime | my_dT |
| DtFloat64 | myTimeMultiplier |
| DtSimManager * | mySimManager |
| DtTime | myFixedFrameRate |
| DtTime | myExerciseStartTime |
| double | mySimTimeScale |
| DtTime | myLastSetSimTime |
Description: The Exercise Clock keeps track of current simulated time.
When 'ticked', it advances simulation time based on elapsed real time since the last time it was ticked and a time-multiplier that allows the exercise clock to run faster or slower than real-time. The exercise clock also supports a pause/resume capability.
enum DtExerciseClock::FrameMode [protected] |
default constructor
| DtExerciseClock::DtExerciseClock | ( | DtSimManager * | simManager | ) |
useful constructor
| DtExerciseClock::DtExerciseClock | ( | const DtExerciseClock & | orig | ) |
copy constructor
| virtual DtExerciseClock::~DtExerciseClock | ( | ) | [virtual] |
destructor
| DtExerciseClock& DtExerciseClock::operator= | ( | const DtExerciseClock & | orig | ) |
assignment operator
| virtual void DtExerciseClock::init | ( | ) | [virtual] |
Initializes the clock - must be called before any other member functions are called.
Reimplemented in DtHlaExerciseClock.
| virtual void DtExerciseClock::reset | ( | ) | [virtual] |
Initialize the clock to 00:00:00 elapsed time.
| virtual void DtExerciseClock::tick | ( | ) | [virtual] |
Advance simulation time, if not paused.
Reimplemented in DtHlaExerciseClock.
| virtual void DtExerciseClock::pause | ( | ) | [virtual] |
Tell tick() not to advance simulation time.
| virtual void DtExerciseClock::resume | ( | ) | [virtual] |
Tells tick() to resume advancing simluation time.
| bool DtExerciseClock::isPaused | ( | ) | const [inline, virtual] |
Returns true if system is paused, false otherwise.
References myPaused.
| virtual void DtExerciseClock::setFixedFrameMode | ( | DtTime | dT | ) | [virtual] |
Tells the exercise clock to use a best effort fixed frame (constant dT).
| virtual bool DtExerciseClock::isFixedFrameMode | ( | ) | [virtual] |
| virtual void DtExerciseClock::setRunToCompleteFrameMode | ( | ) | [virtual] |
Go into variable frame (run to complete) mode.
| virtual bool DtExerciseClock::isRunToCompleteFrameMode | ( | ) | [virtual] |
| virtual void DtExerciseClock::setHybridFrameMode | ( | DtTime | dT | ) | [virtual] |
Go into a hybrid mode of fixed dT run-to complete.
| virtual bool DtExerciseClock::isHybridFrameMode | ( | ) | [virtual] |
| virtual void DtExerciseClock::setFixedFrameRate | ( | DtTime | dT | ) | [virtual] |
Change the value to be used in fixed frame or hybrid frame mode.
This will have no effect in run to complete frame mode.
| virtual DtTime DtExerciseClock::fixedFrameRate | ( | ) | [virtual] |
Get the curent rate if in fixed frame or hybrid frame mode; otherwise, returns 0.0.
| virtual void DtExerciseClock::setTimeMultiplier | ( | DtFloat64 | timeMultiplier | ) | [virtual] |
Set faster or slower than real-time operation (the range of values for which the system will perform in a rational manner have yet to be determined.)
| virtual DtFloat64 DtExerciseClock::timeMultiplier | ( | ) | const [virtual] |
Returns time multiplier, a real scalar.
| virtual DtString& DtExerciseClock::elapsedSimTimeString | ( | DtString & | strBuffer | ) | const [virtual] |
Returns elapsed time as a string in the form ddd:hh:mm:ss.
| virtual void DtExerciseClock::setExerciseStartTime | ( | DtTime | time | ) | [virtual] |
Set exercise start time in seconds.
| virtual DtTime DtExerciseClock::exerciseStartTime | ( | ) | const [virtual] |
Use this to get the time the exercise started, expressed in seconds.
| virtual DtString& DtExerciseClock::exerciseStartTimeString | ( | DtString & | strBuffer | ) | const [virtual] |
| virtual DtTime DtExerciseClock::exerciseTime | ( | ) | const [virtual] |
Returns current exercise time (exercise start time + elapsed time).
| virtual DtString& DtExerciseClock::exerciseTimeString | ( | DtString & | strBuffer | ) | const [virtual] |
| virtual void DtExerciseClock::set_dT | ( | DtTime | dT | ) | [virtual] |
Force a dT value (if called after tick!); note - this does not update elapsed time.
| virtual DtTime DtExerciseClock::dT | ( | ) | const [virtual] |
Returns dT, in seconds.
| virtual double DtExerciseClock::simTimeScale | ( | ) | const [virtual] |
| virtual void DtExerciseClock::registerInterfaceCallbacks | ( | ) | [virtual] |
Register callbacks on the sim manager's interface message executive.
If you override this, make sure you call the base function, or the entity manager will stop responding to those messages.
| static void DtExerciseClock::setTimeMultiplierCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static] |
Callback registered on the simManager's Message executive.
Calls processSetTimeMultipler().
| static void DtExerciseClock::frameModeCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static] |
Callback registered on the simManager's Message executive.
| virtual void DtExerciseClock::processSetTimeMultiplier | ( | const DtIfSetTimeMultiplier & | timeMultiplerData | ) | [protected, virtual] |
Sets time multiplier with value given in message.
Reimplemented in DtHlaExerciseClock.
enum DtExerciseClock::FrameMode DtExerciseClock::myFrameMode [protected] |
bool DtExerciseClock::myFirstFrame [protected] |
bool DtExerciseClock::myPaused [protected] |
Referenced by isPaused().
DtTime DtExerciseClock::myLastRealTime [protected] |
DtTime DtExerciseClock::my_dT [protected] |
DtFloat64 DtExerciseClock::myTimeMultiplier [protected] |
DtSimManager* DtExerciseClock::mySimManager [protected] |
DtTime DtExerciseClock::myFixedFrameRate [protected] |
DtTime DtExerciseClock::myExerciseStartTime [protected] |
double DtExerciseClock::mySimTimeScale [protected] |
DtTime DtExerciseClock::myLastSetSimTime [protected] |