MAK Data Logger API Documentation for HLA
lgrClock.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrClock_H_
11 #define lgrClock_H_
12 
13 #include "lgrCore.h"
14 #include "absoluteTime.h"
15 
16 #include <vlutil/vlTime.h>
17 
18 namespace MAKLogger
19 {
20 
25  {
26  public:
29 
31  virtual ~DtTimeProvider();
32 
34  virtual void tick() = 0;
35 
38  virtual double advancedTime() const = 0;
39 
41  virtual double elapsedTime() const = 0;
42 
44  virtual double timeOffset() const = 0;
45  };
46 
51  {
52  public:
55 
57  virtual ~DtWallClockTimeProvider();
58 
61  virtual void tick();
62 
65  virtual double advancedTime() const;
66 
68  virtual double elapsedTime() const;
69 
71  virtual double timeOffset() const;
72 
73  protected:
74  DtClock myClock;
75  double myTimeAdvance;
76  double myLastAbsTime;
77  };
78 
83  {
84  public:
88  DtLgrClock(const DtTimeProvider* timeProvider);
90  virtual ~DtLgrClock();
91 
94  virtual void tick();
95 
98  DtAbsoluteTime currentTime() const;
99 
101  void setCurrentTime(const DtAbsoluteTime& newTime);
102 
104  virtual DtAbsoluteTime pendingTime() const;
105 
107  DtRelativeTime lastTimeStep() const;
108 
110  virtual void stop();
111 
113  virtual void pause();
114 
117  virtual void setTimeScale(double scaleValue);
118 
120  virtual double timeScale() const;
121 
124  virtual void setTimeProvider(const DtTimeProvider* timeProvider);
125 
127  virtual const DtTimeProvider* timeProvider() const;
128 
129  protected:
130 
132 
136 
137  double myTimeScale;
138  };
139 
140 }
141 
142 #endif

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)