VR-Forces 4.8 Class Documentation
 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 ** $RCSfile: exClock.h,v $ $Revision: 1.19 $ $State: Exp $
7 *******************************************************************************/
8 
11 
17 
18 #ifndef DtExerciseClock_H_
19 #define DtExerciseClock_H_
20 
21 #include "vrfutil/simClock.h"
22 #include "vrfcore/timer.h"
25 
26 #include "vlutil/vlTimeStampType.h"
27 
28 class DtSimManager;
29 class DtSimTimeRepository;
30 class DtString;
31 class DtSimMessage;
33 
34 typedef DtRwReal DtRwTime;
35 
43 #include "vrfcore/vrfcoreDefines.h"
45 {
46 public:
47 
49  DtExerciseClock();
50 
52  DtExerciseClock(DtSimManager *simManager);
53 
55  DtExerciseClock(const DtExerciseClock& orig);
56 
59 
60 
62  virtual ~DtExerciseClock();
63 
66  virtual void init();
67 
69  virtual void reset();
70 
72  virtual void tick();
73 
75  virtual void pause();
76 
78  virtual void resume();
79 
81  virtual bool isPaused() const;
82 
85  virtual void setFixedFrameMode(DtTime dT);
86  virtual bool isFixedFrameMode() const;
87 
89  virtual void setRunToCompleteFrameMode();
90  virtual bool isRunToCompleteFrameMode() const;
91 
93  virtual void setHybridFrameMode(DtTime dT);
94  virtual bool isHybridFrameMode() const;
95 
98  virtual void setFixedFrameRate(DtTime dT);
99 
102  virtual DtTime fixedFrameRate() const;
103 
107  virtual void setTimeMultiplier(DtFloat64 timeMultiplier);
108 
110  virtual DtFloat64 timeMultiplier() const;
111 
113  virtual void setFastForwardSettings(const DtFastForwardSettings& settings);
114 
116  virtual DtString &elapsedSimTimeString(DtString &strBuffer) const;
117 
119  virtual void setExerciseStartTime(DtTime time);
120 
122  virtual DtTime exerciseStartTime() const;
123 
124  virtual DtString &exerciseStartTimeString(DtString &strBuffer) const;
125 
127  virtual DtTime exerciseTime() const;
128 
129  virtual DtString &exerciseTimeString(DtString &strBuffer) const;
130 
131  virtual void setExerciseConnectionClockTime(double);
132 
135  virtual void set_dT(DtTime dT);
136 
138  virtual DtTime dT() const;
139 
140  virtual void setTimeStampType(DtTimeStampType);
141  DtTimeStampType timeStampType() const { return myTimeStampType; };
142 
143  virtual double simTimeScale() const;
144 
146  virtual void addTimeMultiplierUpdateCallback(
148 
150  virtual void removeTimeMultiplierUpdateCallback(
152 
156  virtual void registerInterfaceCallbacks();
157 
160  static void setTimeMultiplierCallback(DtSimMessage* msg, void * usr);
161 
163  static void frameModeCallback(DtSimMessage* msg, void * usr);
164 
165 protected:
166 
168  virtual void processSetTimeMultiplier(const DtIfSetTimeMultiplier&
169  timeMultiplerData);
170 
171 protected:
172 
173  enum FrameMode { FmRunToComplete, FmFixed, FmHybrid } myFrameMode;
174 
176  bool myPaused;
188  DtTimeStampType myTimeStampType;
190 
194 
196 
198 };
199 
200 inline bool DtExerciseClock::isPaused() const
201 {
202  return myPaused;
203 }
204 
205 #endif
Description: Adds some useful time related routines to VR-Link's DtClock.
Definition: simClock.h:30
DtTime myLastSetSimTime
Definition: exerciseClock.h:184
DtTime myDefaultFixedFrameRate
Definition: exerciseClock.h:193
Definition: fastForwardSettings.h:12
virtual bool isPaused() const
Returns true if system is paused, false otherwise.
Definition: exerciseClock.h:200
DtSimManager * mySimManager
Definition: exerciseClock.h:180
FrameMode myDefaultFrameMode
Definition: exerciseClock.h:192
DtFastForwardSettings myFastForwardSettings
Definition: exerciseClock.h:195
bool myPaused
Definition: exerciseClock.h:176
FrameMode
Definition: exerciseClock.h:173
int myFrameOverrunCount
Definition: exerciseClock.h:186
DtSimClock & operator=(const DtSimClock &orig)
double myMaxOverrunTime
Definition: exerciseClock.h:187
File: simMsg.h.
Definition: simMessage.h:35
File: vlClock.h.
Definition: noArgumentCallbackList.h:91
double DtFloat64
Definition: vrvControlStructTypes.h:36
DtTime my_dT
Definition: exerciseClock.h:178
DtTime myFixedFrameRate
Definition: exerciseClock.h:181
DtCallbackList< DtFloat64 > myTimeMultiplierUpdateCallbacks
Definition: exerciseClock.h:197
DtTime myLastRealTime
Definition: exerciseClock.h:177
int myFrameSinceOverrunPrintCount
Definition: exerciseClock.h:185
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwReal DtRwTime
Definition: exerciseClock.h:32
DtFloat64 myTimeMultiplier
Definition: exerciseClock.h:179
bool myFirstFrame
Definition: exerciseClock.h:175
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
DtTimeStampType timeStampType() const
Definition: exerciseClock.h:141
double myExerciseConnectionClockTime
Definition: exerciseClock.h:189
DtTime myExerciseStartTime
Definition: exerciseClock.h:182
Total: 64/64 bytes.
Definition: ifSetTimeMultiplier.h:45
DtTimeStampType myTimeStampType
Definition: exerciseClock.h:188
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25
double mySimTimeScale
Definition: exerciseClock.h:183
Description: The Exercise Clock keeps track of current simulated time.
Definition: exerciseClock.h:44
bool myUsingFastForwardFrameSettings
Definition: exerciseClock.h:191

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)