source: nrEngine/src/Timer.cpp @ 1

Revision 1, 2.1 KB checked in by art, 13 years ago (diff)
Line 
1/***************************************************************************
2 *                                                                         *
3 *   (c) Art Tevs, MPI Informatik Saarbruecken                             *
4 *       mailto: <tevs@mpi-sb.mpg.de>                                      *
5 *                                                                         *
6 *   This program is free software; you can redistribute it and/or modify  *
7 *   it under the terms of the GNU General Public License as published by  *
8 *   the Free Software Foundation; either version 2 of the License, or     *
9 *   (at your option) any later version.                                   *
10 *                                                                         *
11 ***************************************************************************/
12
13//----------------------------------------------------------------------------------
14// Includes
15//----------------------------------------------------------------------------------
16#include "Timer.h"
17
18
19namespace nrEngine{
20       
21        //------------------------------------------------------------------------
22        Timer::Timer(Clock& clock): _clock(clock){
23               
24                // unpause the timer and set default scaling
25                setPause(false);
26                setScale (1.0f);
27                setFixFrameRate(false);
28               
29                // set default values
30                _currentTime = 0;
31                _frameTime = 0;
32                       
33        }
34               
35        //------------------------------------------------------------------------
36        Timer::~Timer(){
37       
38        }
39               
40        //------------------------------------------------------------------------
41        void Timer::notifyTimeObserver(){
42                // if there is no pause, so update times
43                if (!_bPaused){
44                        float32 frameInterval = _bFixFrameRate ? _fixFrameTime : _clock.getFrameInterval();
45                        _frameTime = frameInterval * _fScale;
46                }else{
47                        _frameTime = 0;
48                }
49
50                // calculate current time
51                _currentTime += _frameTime;
52        }
53       
54        //------------------------------------------------------------------------
55        void Timer::setFixFrameRate(bool setFixRate, float32 fixFrameRate){
56                _bFixFrameRate = setFixRate;
57                _fixFrameTime = 1.0f / fixFrameRate;
58        }
59
60}; // end namespace     
61
Note: See TracBrowser for help on using the repository browser.