Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# deTimer.hpp

Go to the documentation of this file.

    00001 ///////////////////////////////////////////////////////////////////////////////
    00002 /// @file deTimer.hpp
    00003 ///
    00004 /// @brief
    00005 ///
    00006 /// @author trajar
    00007 ///
    00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
    00009 /// contents of this file is subject to the Destiny3D Member License which
    00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
    00011 ///
    00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
    00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
    00014 /// for any particular purpose.
    00015 ///
    00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
    00017 ///
    00018 /// <hr>
    00019 ///                                 Change History
    00020 /// <hr>
    00021 ///
    00022 /// @date Jun 2002
    00023 /// @author trajar
    00024 /// @remarks Creation
    00025 ///
    00026 ///////////////////////////////////////////////////////////////////////////////
    00027
    00028 #ifndef _DETIMER_HPP
    00029 #define _DETIMER_HPP
    00030
    00031 #ifndef     _DENET_HPP
    00032  #include   "deNet.hpp"
    00033 #endif
    00034
    00035 #ifndef     _DESYNCHOBJECT_HPP
    00036  #include   "deSynchObject.hpp"
    00037 #endif
    00038
    00039 //-------------------------------------------
    00040 // class - deTimer
    00041 //-------------------------------------------
    00042
    00043 class deTimer
    00044 {
    00045 public:
    00046     deTimer();
    00047     ~deTimer()  { }
    00048
    00049     bool            SupportsHighResCounter( void );
    00050     void            StartTimer( void );
    00051     void            StopTimer( void );
    00052     s64             GetTime( void );
    00053
    00054 private:
    00055
    00056     //Auxiliary Function
    00057     void            UpdateElapsed( void );
    00058
    00059     //Member variables
    00060     bool            m_bRunning;
    00061     s64             m_i64Start;
    00062     s64             m_i64Elapsed;
    00063     deSynchObject   m_SynchObject;
    00064
    00065     //Some auxiliary variables
    00066     s64             m_i64Counts;
    00067     LARGE_INTEGER   m_liCount;
    00068
    00069     //Static Variables
    00070     static bool     sm_bInit;
    00071     static bool     sm_bPerformanceCounter;
    00072     static s64      sm_i64Freq;
    00073 };
    00074
    00075 #endif // _PRECISETIMER_H_
    00076
    00077