00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __itkRealTimeClock_h
00019 #define __itkRealTimeClock_h
00020
00021 #include <itkMacro.h>
00022 #include <itkObject.h>
00023 #include <itkObjectFactory.h>
00024
00025 namespace itk
00026 {
00027
00038 class ITKCommon_EXPORT RealTimeClock : public Object
00039 {
00040 public:
00041 typedef RealTimeClock Self;
00042 typedef Object Superclass;
00043 typedef SmartPointer< Self > Pointer;
00044 typedef SmartPointer< const Self > ConstPointer;
00045
00047 itkTypeMacro(RealTimeClock, Object);
00048
00050 itkNewMacro(Self);
00051
00053 typedef double TimeStampType;
00054
00056 typedef double FrequencyType;
00057
00059 TimeStampType GetTimeStamp() const;
00060 TimeStampType GetTimestamp() const
00061 {
00062 itkWarningMacro("This call is deprecated. "
00063 "Its naming was not conforming to ITK Style. "
00064 "Please use GetTimeStamp() instead. Note the capital S");
00065 return this->GetTimeStamp();
00066 }
00068
00070 itkGetConstMacro(Frequency, FrequencyType);
00071
00072 protected:
00073
00075 RealTimeClock();
00076
00078 virtual ~RealTimeClock();
00079
00081 virtual void PrintSelf( std::ostream& os, Indent indent ) const;
00082
00083 private:
00084 FrequencyType m_Frequency;
00085 TimeStampType m_Difference;
00086 TimeStampType m_Origin;
00087 };
00088
00089 }
00090
00091 #endif // __itkRealTimeClock_h
00092