SPIDAR API Library  0x16033101
Space Interface Device for Artificial Reality
Timer.hpp
Go to the documentation of this file.
1 
5 #ifndef SPIDAR_WIN32_TIMER_HPP
6 #define SPIDAR_WIN32_TIMER_HPP
7 
8 #define NOMINMAX
9 #include <windows.h>
10 #include <process.h>
11 
12 namespace Spidar
13 {
14 namespace Win32
15 {
22 class Timer
23 {
24 public:
25  void initialize(double frequency);
26  void wait(void);
27 
29  double deltaTime(void) const { return deltaTime_; }
31  double avgDeltaTime(void) const { return avgDeltaTime_; }
33  double maxDeltaTime(void) const { return maxDeltaTime_; }
35  double minDeltaTime(void) const { return minDeltaTime_; }
36 
37 private:
38  LARGE_INTEGER systemFrequency_;
39  LARGE_INTEGER countCurr_;
40  LARGE_INTEGER countPrev_;
41  LONGLONG cycle_;
42 
43  double deltaTime_;
44  double avgDeltaTime_;
45  double maxDeltaTime_;
46  double minDeltaTime_;
47 
48 }; // end of class Timer.
49 
50 } // end of namespace Win32.
51 } // end of namespace Spidar.
52 
53 #endif // SPIDAR_WIN32_TIMER_HPP
54 
55 // end of file.
Win32APIを用いた時間計測クラスです.
Definition: Timer.hpp:22
void initialize(double frequency)
タイマーを初期化します.
Definition: Timer.cpp:17
double avgDeltaTime(void) const
平均周期を取得します.
Definition: Timer.hpp:31
SPIDARライブラリのルート名前空間です.
double maxDeltaTime(void) const
最大周期を取得します.
Definition: Timer.hpp:33
double deltaTime(void) const
周期を取得します.
Definition: Timer.hpp:29
void wait(void)
指定時間が経過するまで待機します.
Definition: Timer.cpp:35
double minDeltaTime(void) const
最小周期を取得します.
Definition: Timer.hpp:35