OpenWalnut
1.3.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
src
core
common
WRealtimeTimer.h
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#ifndef WREALTIMETIMER_H
26
#define WREALTIMETIMER_H
27
28
#include <boost/shared_ptr.hpp>
29
30
#include <osg/Timer>
31
32
#include "WTimer.h"
33
34
35
36
/**
37
* Realtime timing. Internally, this uses an osg::Timer.
38
*/
39
class
WRealtimeTimer
:
public
WTimer
40
{
41
public
:
42
/**
43
* Convenience typedef for a shared_ptr
44
*/
45
typedef
boost::shared_ptr< WRealtimeTimer >
SPtr
;
46
47
/**
48
* Convenience typedef for a const shared_ptr.
49
*/
50
typedef
boost::shared_ptr< const WRealtimeTimer >
ConstSPtr
;
51
52
/**
53
* Constructs a realtime animation timer.
54
*/
55
WRealtimeTimer
();
56
57
/**
58
* Destructor.
59
*/
60
virtual
~WRealtimeTimer
();
61
62
/**
63
* Resets the start-tick.
64
*/
65
virtual
void
reset
();
66
67
/**
68
* Returns the elapsed time since the last reset in seconds with milliseconds precision.
69
*
70
* \return elapsed time in seconds with millisecond precision.
71
*/
72
virtual
double
elapsed
()
const
;
73
74
private
:
75
/**
76
* The osg timer is used here.
77
*/
78
osg::Timer
m_timer
;
79
};
80
81
#endif // WREALTIMETIMER_H
Generated by
1.8.4