DART
6.13.2
Loading...
Searching...
No Matches
Timer.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011-2022, The DART development contributors
3
* All rights reserved.
4
*
5
* The list of contributors can be found at:
6
* https://github.com/dartsim/dart/blob/master/LICENSE
7
*
8
* This file is provided under the following "BSD-style" License:
9
* Redistribution and use in source and binary forms, with or
10
* without modification, are permitted provided that the following
11
* conditions are met:
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
* POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#ifndef DART_COMMON_TIMER_HPP_
34
#define DART_COMMON_TIMER_HPP_
35
36
#include <string>
37
38
#ifdef _WIN32
39
#include "
dart/common/IncludeWindows.hpp
"
40
#else
41
#include <sys/time.h>
42
#endif
43
44
#include "
dart/common/Deprecated.hpp
"
45
46
namespace
dart
{
47
namespace
common {
48
55
class
DART_DEPRECATED
(6.13)
Timer
56
{
57
public
:
59
explicit
Timer
(
const
std::string& _name =
"Noname Timer"
);
60
62
virtual
~Timer
();
63
65
void
start();
66
68
bool
isStarted()
const
;
69
71
void
stop();
72
75
double
getElapsedTime();
76
78
double
getLastElapsedTime()
const
;
79
81
double
getTotalElapsedTime()
const
;
82
84
void
print();
85
87
static
double
getWallTime();
88
89
private
:
90
int
mCount
;
91
92
#ifdef _WIN32
93
struct
StopWatch
94
{
95
LARGE_INTEGER start;
96
LARGE_INTEGER stop;
97
};
98
StopWatch mTimer;
99
#else
100
timeval
mTimeVal
;
101
double
mStartedTime
;
102
double
mStoppedTime
;
103
#endif
104
105
double
mLastElapsedTime
;
106
double
mTotalElapsedTime
;
107
std::string
mName
;
108
bool
mIsStarted
;
109
110
#ifdef _WIN32
111
LARGE_INTEGER mFrequency;
112
double
_convLIToSecs(
const
LARGE_INTEGER& _L);
113
#endif
114
};
115
116
}
// namespace common
117
}
// namespace dart
118
119
#endif
// DART_COMMON_TIMER_HPP_
Deprecated.hpp
DART_DEPRECATED
#define DART_DEPRECATED(version)
Definition
Deprecated.hpp:51
IncludeWindows.hpp
dart::common::Timer
The implementation of Timer class.
Definition
Timer.hpp:56
dart::common::Timer::mTimeVal
timeval mTimeVal
Definition
Timer.hpp:100
dart::common::Timer::mCount
int mCount
Definition
Timer.hpp:90
dart::common::Timer::mStartedTime
double mStartedTime
Definition
Timer.hpp:101
dart::common::Timer::mTotalElapsedTime
double mTotalElapsedTime
Definition
Timer.hpp:106
dart::common::Timer::mIsStarted
bool mIsStarted
Definition
Timer.hpp:108
dart::common::Timer::mName
std::string mName
Definition
Timer.hpp:107
dart::common::Timer::mStoppedTime
double mStoppedTime
Definition
Timer.hpp:102
dart::common::Timer::mLastElapsedTime
double mLastElapsedTime
Definition
Timer.hpp:105
dart
Definition
BulletCollisionDetector.cpp:60
dart
common
Timer.hpp
Generated on Wed Aug 27 2025 03:04:30 for DART by
1.9.8