VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
exerciseClock.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include "vrfutil/simClock.h"
12 
13 #include "vlutil/vlTimeStampType.h"
14 
15 class DtString;
16 
17 typedef DtRwReal DtRwTime;
18 
27 {
28 public:
29 
31  DtExerciseClock();
32 
34  DtExerciseClock(const DtExerciseClock& orig);
35 
38 
39 
41  virtual ~DtExerciseClock();
42 
45  virtual void init();
46 
48  virtual void reset();
49 
51  virtual void tick();
52 
54  virtual void pause();
55 
57  virtual void resume();
58 
60  virtual bool isPaused() const;
61 
64  virtual void setFixedFrameMode(DtTime dT);
65  virtual bool isFixedFrameMode() const;
66 
68  virtual void setRunToCompleteFrameMode();
69  virtual bool isRunToCompleteFrameMode() const;
70 
72  virtual void setHybridFrameMode(DtTime dT);
73  virtual bool isHybridFrameMode() const;
74 
77  virtual void setFixedFrameRate(DtTime dT);
78 
81  virtual DtTime fixedFrameRate() const;
82 
86  virtual void setTimeMultiplier(DtFloat64 timeMultiplier);
87 
89  virtual DtFloat64 timeMultiplier() const;
90 
92  virtual void setFastForwardSettings(const DtFastForwardSettings& settings);
93 
95  virtual DtString &elapsedSimTimeString(DtString &strBuffer) const;
96 
98  virtual void setExerciseStartTime(DtTime time);
99 
101  virtual DtTime exerciseStartTime() const;
102 
103  virtual DtString &exerciseStartTimeString(DtString &strBuffer) const;
104 
106  virtual DtTime exerciseTime() const;
107 
108  virtual DtString &exerciseTimeString(DtString &strBuffer) const;
109 
110  virtual void setExerciseConnectionClockTime(double);
111 
114  virtual void set_dT(DtTime dT);
115 
117  virtual DtTime dT() const;
118 
119  virtual void setTimeStampType(DtTimeStampType);
120  DtTimeStampType timeStampType() const { return myTimeStampType; };
121 
122  virtual double simTimeScale() const;
123 
125  virtual void addTimeMultiplierUpdateCallback(
127 
129  virtual void removeTimeMultiplierUpdateCallback(
131 
132 protected:
133 
134  enum FrameMode { FmRunToComplete, FmFixed, FmHybrid } myFrameMode;
135 
137  bool myPaused;
148  DtTimeStampType myTimeStampType;
150 
154 
156 
158 };
159 
160 inline bool DtExerciseClock::isPaused() const
161 {
162  return myPaused;
163 }
Description: Adds some useful time related routines to VR-Link's DtClock.
Definition: simClock.h:30
DtTime myLastSetSimTime
Definition: exerciseClock.h:144
DtTime myDefaultFixedFrameRate
Definition: exerciseClock.h:153
Definition: fastForwardSettings.h:12
virtual bool isPaused() const
Returns true if system is paused, false otherwise.
Definition: exerciseClock.h:160
DtRwReal DtRwTime
Definition: exerciseClock.h:15
FrameMode myDefaultFrameMode
Definition: exerciseClock.h:152
DtFastForwardSettings myFastForwardSettings
Definition: exerciseClock.h:155
bool myPaused
Definition: exerciseClock.h:137
FrameMode
Definition: exerciseClock.h:134
int myFrameOverrunCount
Definition: exerciseClock.h:146
DtSimClock & operator=(const DtSimClock &orig)
double myMaxOverrunTime
Definition: exerciseClock.h:147
File: vlClock.h.
Definition: noArgumentCallbackList.h:91
double DtFloat64
Definition: vrvControlStructTypes.h:36
DtTime my_dT
Definition: exerciseClock.h:139
DtTime myFixedFrameRate
Definition: exerciseClock.h:141
DtCallbackList< DtFloat64 > myTimeMultiplierUpdateCallbacks
Definition: exerciseClock.h:157
DtTime myLastRealTime
Definition: exerciseClock.h:138
int myFrameSinceOverrunPrintCount
Definition: exerciseClock.h:145
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtFloat64 myTimeMultiplier
Definition: exerciseClock.h:140
bool myFirstFrame
Definition: exerciseClock.h:136
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtTimeStampType timeStampType() const
Definition: exerciseClock.h:120
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfCommunicationManagerDefines.h:26
double myExerciseConnectionClockTime
Definition: exerciseClock.h:149
DtTime myExerciseStartTime
Definition: exerciseClock.h:142
DtTimeStampType myTimeStampType
Definition: exerciseClock.h:148
double mySimTimeScale
Definition: exerciseClock.h:143
Description: The Exercise Clock keeps track of current simulated time. When &#39;ticked&#39;, 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.
Definition: exerciseClock.h:26
bool myUsingFastForwardFrameSettings
Definition: exerciseClock.h:151

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)