VR-Forces 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;
17 
18 typedef DtRwReal DtRwTime;
19 
28 {
29 public:
30 
32  DtExerciseClock();
33 
35  DtExerciseClock(const DtExerciseClock& orig);
36 
39 
40 
42  virtual ~DtExerciseClock();
43 
46  virtual void init();
47 
49  virtual void reset();
50 
52  virtual void tick(DtCommunicationManagerPerformanceTimerInformation* performanceTimerInformation = nullptr);
53 
55  virtual void pause();
56 
58  virtual void resume();
59 
61  virtual bool isPaused() const;
62 
65  virtual void setFixedFrameMode(DtTime dT);
66  virtual bool isFixedFrameMode() const;
67 
69  virtual void setRunToCompleteFrameMode();
70  virtual bool isRunToCompleteFrameMode() const;
71 
73  virtual void setHybridFrameMode(DtTime dT);
74  virtual bool isHybridFrameMode() const;
75 
78  virtual void setFixedFrameRate(DtTime dT);
79 
82  virtual DtTime fixedFrameRate() const;
83 
87  virtual void setTimeMultiplier(DtFloat64 timeMultiplier);
88 
90  virtual DtFloat64 timeMultiplier() const;
91 
93  virtual void setFastForwardSettings(const DtFastForwardSettings& settings);
94 
96  virtual DtString &elapsedSimTimeString(DtString &strBuffer) const;
97 
99  virtual void setExerciseStartTime(DtTime time);
100 
102  virtual DtTime exerciseStartTime() const;
103 
104  virtual DtString &exerciseStartTimeString(DtString &strBuffer) const;
105 
107  virtual DtTime exerciseTime() const;
108 
109  virtual DtString &exerciseTimeString(DtString &strBuffer) const;
110 
111  virtual void setExerciseConnectionClockTime(double);
112 
115  virtual void set_dT(DtTime dT);
116 
118  virtual DtTime dT() const;
119 
120  virtual void setTimeStampType(DtTimeStampType);
121  DtTimeStampType timeStampType() const { return myTimeStampType; };
122 
123  virtual double simTimeScale() const;
124 
126  virtual void addTimeMultiplierUpdateCallback(
128 
130  virtual void removeTimeMultiplierUpdateCallback(
132 
133 protected:
134 
135  enum FrameMode { FmRunToComplete, FmFixed, FmHybrid } myFrameMode;
136 
138  bool myPaused;
149  DtTimeStampType myTimeStampType;
151 
155 
157 
159 };
160 
161 inline bool DtExerciseClock::isPaused() const
162 {
163  return myPaused;
164 }
Description: Adds some useful time related routines to VR-Link's DtClock.
Definition: simClock.h:30
DtTime myLastSetSimTime
Definition: exerciseClock.h:145
DtTime myDefaultFixedFrameRate
Definition: exerciseClock.h:154
Definition: fastForwardSettings.h:12
virtual bool isPaused() const
Returns true if system is paused, false otherwise.
Definition: exerciseClock.h:161
DtRwReal DtRwTime
Definition: exerciseClock.h:16
FrameMode myDefaultFrameMode
Definition: exerciseClock.h:153
DtFastForwardSettings myFastForwardSettings
Definition: exerciseClock.h:156
bool myPaused
Definition: exerciseClock.h:138
FrameMode
Definition: exerciseClock.h:135
int myFrameOverrunCount
Definition: exerciseClock.h:147
Definition: communicationManager.h:35
DtSimClock & operator=(const DtSimClock &orig)
double myMaxOverrunTime
Definition: exerciseClock.h:148
File: vlClock.h.
Definition: noArgumentCallbackList.h:91
double DtFloat64
Definition: vrvControlStructTypes.h:36
DtTime my_dT
Definition: exerciseClock.h:140
DtTime myFixedFrameRate
Definition: exerciseClock.h:142
DtCallbackList< DtFloat64 > myTimeMultiplierUpdateCallbacks
Definition: exerciseClock.h:158
DtTime myLastRealTime
Definition: exerciseClock.h:139
int myFrameSinceOverrunPrintCount
Definition: exerciseClock.h:146
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtFloat64 myTimeMultiplier
Definition: exerciseClock.h:141
bool myFirstFrame
Definition: exerciseClock.h:137
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtTimeStampType timeStampType() const
Definition: exerciseClock.h:121
#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:150
DtTime myExerciseStartTime
Definition: exerciseClock.h:143
DtTimeStampType myTimeStampType
Definition: exerciseClock.h:149
double mySimTimeScale
Definition: exerciseClock.h:144
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:27
bool myUsingFastForwardFrameSettings
Definition: exerciseClock.h:152

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)