Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

mitk::WindowsRealTimeClock Class Reference

realtimeclock implementation for windows-systems More...

#include <mitkWindowsRealTimeClock.h>

Inheritance diagram for mitk::WindowsRealTimeClock:
Inheritance graph
[legend]
Collaboration diagram for mitk::WindowsRealTimeClock:
Collaboration graph
[legend]

List of all members.

Public Types

typedef WindowsRealTimeClock Self
typedef mitk::RealTimeClock Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
 WindowsRealTimeClock ()
 basic contructor
virtual ~WindowsRealTimeClock ()
 basic destructor
virtual double GetCurrentStamp ()
 returns the current time in milliseconds as a double
virtual LARGE_INTEGER GetFrequency ()
 returns the QueryPerformanceFrequency

Static Public Member Functions

static Pointer New ()
 instanciates a new, operating-system dependant, instance of mitk::RealTimeClock.

Protected Member Functions

void SetFrequency ()

Protected Attributes

LARGE_INTEGER m_Frequency
 Frequency needed to calculate time from tick-counter.

Detailed Description

realtimeclock implementation for windows-systems

This class provides a RealTimeClock for windows-systems. Internally, it uses the QueryPerformanceCounter and the QueryPerformaceFrequency. It polls the current tick-counter, that counts from bootup. is supposed to be the most accurate time you can get on a windows-system.

Definition at line 38 of file mitkWindowsRealTimeClock.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::WindowsRealTimeClock::ConstPointer

Reimplemented from mitk::RealTimeClock.

Definition at line 41 of file mitkWindowsRealTimeClock.h.

typedef itk::SmartPointer<Self> mitk::WindowsRealTimeClock::Pointer

Reimplemented from mitk::RealTimeClock.

Definition at line 41 of file mitkWindowsRealTimeClock.h.

Reimplemented from mitk::RealTimeClock.

Definition at line 41 of file mitkWindowsRealTimeClock.h.

Reimplemented from mitk::RealTimeClock.

Definition at line 41 of file mitkWindowsRealTimeClock.h.


Constructor & Destructor Documentation

mitk::WindowsRealTimeClock::WindowsRealTimeClock (  )

basic contructor

Definition at line 26 of file mitkWindowsRealTimeClock.cpp.

References SetFrequency().

{
  SetFrequency();
}
mitk::WindowsRealTimeClock::~WindowsRealTimeClock (  ) [virtual]

basic destructor

basic contructor

Definition at line 34 of file mitkWindowsRealTimeClock.cpp.

{

}

Member Function Documentation

virtual const char* mitk::WindowsRealTimeClock::GetClassName (  ) const [virtual]

Reimplemented from mitk::RealTimeClock.

double mitk::WindowsRealTimeClock::GetCurrentStamp (  ) [virtual]

returns the current time in milliseconds as a double

Uses the QueryPerformanceCounter to acquire an accurate time. (Ticks counted / Frequency) = time in ms

Implements mitk::RealTimeClock.

Definition at line 50 of file mitkWindowsRealTimeClock.cpp.

{
// "if defined" not really necessary in this case, as the class is only available on Windows-systems
  __int64 time, ticks = 0;

  if (m_Frequency.QuadPart < 1)
  {
    return -1.0;
  }

  QueryPerformanceCounter( (LARGE_INTEGER*) &ticks);
  time = (ticks * 100000) / this->m_Frequency.QuadPart;
  double milliseconds = (double) (time & 0xffffffff);
  milliseconds /= (double)100.0;
  return milliseconds;
}
LARGE_INTEGER mitk::WindowsRealTimeClock::GetFrequency (  ) [virtual]

returns the QueryPerformanceFrequency

returns the QueryPerformanceFrequency, needed for acquiring the time from ticks

Definition at line 70 of file mitkWindowsRealTimeClock.cpp.

{
  return this->m_Frequency;
}
static Pointer mitk::WindowsRealTimeClock::New ( void   ) [static]

instanciates a new, operating-system dependant, instance of mitk::RealTimeClock.

Reimplemented from mitk::RealTimeClock.

void mitk::WindowsRealTimeClock::SetFrequency (  ) [protected]

Definition at line 39 of file mitkWindowsRealTimeClock.cpp.

Referenced by WindowsRealTimeClock().

{
  if ( !QueryPerformanceFrequency(&m_Frequency) )
  {
    m_Frequency.QuadPart = 0;
  }
}

Member Data Documentation

LARGE_INTEGER mitk::WindowsRealTimeClock::m_Frequency [protected]

Frequency needed to calculate time from tick-counter.

Definition at line 74 of file mitkWindowsRealTimeClock.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines