MAK Data Logger API Documentation for DIS
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
libsrc
lgrCore
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
24
class
DT_DLL_LGRCORE
DtTimeProvider
25
{
26
public
:
28
DtTimeProvider
();
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
50
class
DT_DLL_LGRCORE
DtWallClockTimeProvider
:
public
DtTimeProvider
51
{
52
public
:
54
DtWallClockTimeProvider
();
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
82
class
DT_DLL_LGRCORE
DtLgrClock
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
131
const
DtTimeProvider
*
myTimeProvider
;
132
133
DtAbsoluteTime
myLastTime
;
134
DtAbsoluteTime
myCurrentTime
;
135
DtRelativeTime
myLastTimeStep
;
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
)