Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MITKTIMESTAMP_H_HEADER_INCLUDED_
00020 #define MITKTIMESTAMP_H_HEADER_INCLUDED_
00021
00022 #include <itkObject.h>
00023 #include <itkObjectFactory.h>
00024 #include <MitkIGTExports.h>
00025
00026 #include "mitkRealTimeClock.h"
00027
00028
00029 namespace mitk {
00030
00053 class MitkIGT_EXPORT TimeStamp : public itk::Object
00054 {
00055 public:
00056
00057 mitkClassMacro(TimeStamp, itk::Object);
00058
00062 static TimeStamp* CreateInstance();
00063
00069 static TimeStamp* GetInstance();
00070
00082 void Start( itk::Object::Pointer device );
00083
00092 void Stop( itk::Object::Pointer device );
00093
00103 double GetElapsed();
00104
00113 double GetElapsed(itk::Object::Pointer device);
00114
00115
00131 double GetOffset(itk::Object::Pointer Device);
00132
00146 void SetRealTimeClock(mitk::RealTimeClock::Pointer Clock);
00147
00148 void Initialize();
00149
00150 protected:
00151 TimeStamp();
00152
00153 virtual ~TimeStamp();
00154
00155 double GetCurrentStamp();
00156
00157
00158
00159
00160 double m_Time;
00161
00162
00163
00164
00165 double m_ReferenceTime;
00166
00167
00168
00169
00170 mitk::RealTimeClock::Pointer m_RealTimeClock;
00171
00172
00173
00174
00175 static mitk::TimeStamp::Pointer s_Instance;
00176
00177
00178
00179
00180 std::map<itk::Object::Pointer, double> m_DeviceMap;
00181
00182 std::map<itk::Object::Pointer, double>::iterator m_MapIterator;
00183 };
00184 }
00185
00186 #endif