ADTF
Loading...
Searching...
No Matches
interpolating_clock.h
Go to the documentation of this file.
1
7#pragma once
8#include "base_clock.h"
9
10#include <atomic>
11
12namespace adtf
13{
14
15namespace system
16{
17
18namespace ant
19{
20
27{
28 private:
29 std::atomic_int_least64_t m_nExternalStreamOffset;
30 mutable tTimeStamp m_nLastInterpolatedTime = 0;
31 bool m_bPaused = false;
32
33 public:
38 cInterpolatingClock(const char* strName);
39
40 public:
41 tTimeStamp GetTime() const override;
42
43 public:
50 tResult Reset(tTimeStamp nNewTime);
51
60 tResult SetTime(tTimeStamp nNewTime);
61
65 void Start();
66
70 void Pause();
71};
72
73}
74
75namespace hollow
76{
77
80{
81 private:
82 std::atomic_int_least64_t m_nExternalStreamOffset;
83 mutable adtf::base::flash::tNanoSeconds m_nLastInterpolatedTime = adtf::base::flash::tNanoSeconds{0};
84 bool m_bPaused = false;
85
86 public:
88 cInterpolatingClock(const char* strName);
89
90 public:
91 adtf::base::flash::tNanoSeconds GetTimeNs() const override;
92
93 public:
95 tResult Reset(tTimeStamp nNewTime);
96
98 tResult SetTime(tTimeStamp nNewTime);
99
102
105
107 void Start();
108
110 void Pause();
111};
112
113}
114
115namespace lucky
116{
117
120{
121 public:
125
127 cInterpolatingClock(const char* strName);
129
130 adtf::base::flash::tNanoSeconds GetTimeNs() const override;
131
132 public:
140 tResult Reset(tTimeStamp nNewTime, double fSpeedFactor = 1.0);
141
143 tResult SetTime(tTimeStamp nNewTime);
144
152 tResult Reset(adtf::base::flash::tNanoSeconds nNewTime, double fSpeedFactor = 1.0);
153
156
158 void Start();
159
161 void Pause();
162
163 private:
164 class cImplementation;
165 std::unique_ptr<cImplementation> m_pImplementation;
166};
167
168
169}
170
172
173}
174
175}
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
cBaseClock(const char *strName)
tResult SetTime(tTimeStamp nNewTime)
tResult Reset(tTimeStamp nNewTime)
cInterpolatingClock(const char *strName)
Definition base_clock.h:71
tResult SetTime(adtf::base::flash::tNanoSeconds nNewTime)
tResult Reset(tTimeStamp nNewTime)
tResult Reset(adtf::base::flash::tNanoSeconds nNewTime)
tResult SetTime(tTimeStamp nNewTime)
Definition interpolating_clock.h:120
tResult Reset(adtf::base::flash::tNanoSeconds nNewTime, double fSpeedFactor=1.0)
tResult Reset(tTimeStamp nNewTime, double fSpeedFactor=1.0)
tResult SetTime(tTimeStamp nNewTime)
tResult SetTime(adtf::base::flash::tNanoSeconds nNewTime)
Namespace for all functionality of the ADTF System SDK provided since v3.0.
Definition adtf_service.h:16
Namespace for all functionality of the ADTF System SDK provided since v3.7.
Definition interpolating_clock.h:76
Namespace for all functionality of the ADTF System SDK provided since v3.11.
Definition interpolating_clock.h:116
Namespace for the ADTF System SDK.
Definition adtf_service.h:14
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14
A timestamp with nanosecond precision.
Definition chrono.h:23