VR-Forces 4.7 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();
87 
89  virtual void setRunToCompleteFrameMode();
90  virtual bool isRunToCompleteFrameMode();
91 
93  virtual void setHybridFrameMode(DtTime dT);
94  virtual bool isHybridFrameMode();
95 
98  virtual void setFixedFrameRate(DtTime dT);
99 
102  virtual DtTime fixedFrameRate();
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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)