mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-15 14:10:11 +00:00
3bdcf23a05
Added btClock::usleep Fix broken TinyRenderer example code.
41 lines
987 B
C++
41 lines
987 B
C++
#ifndef B3_CLOCK_H
|
|
#define B3_CLOCK_H
|
|
|
|
|
|
///The b3Clock is a portable basic clock that measures accurate time in seconds, use for profiling.
|
|
class b3Clock
|
|
{
|
|
public:
|
|
b3Clock();
|
|
|
|
b3Clock(const b3Clock& other);
|
|
b3Clock& operator=(const b3Clock& other);
|
|
|
|
~b3Clock();
|
|
|
|
/// Resets the initial reference time.
|
|
void reset();
|
|
|
|
/// Returns the time in ms since the last call to reset or since
|
|
/// the b3Clock was created.
|
|
unsigned long int getTimeMilliseconds();
|
|
|
|
/// Returns the time in us since the last call to reset or since
|
|
/// the Clock was created.
|
|
unsigned long long int getTimeMicroseconds();
|
|
|
|
/// Returns the time in seconds since the last call to reset or since
|
|
/// the Clock was created.
|
|
double getTimeInSeconds();
|
|
|
|
///Sleep for 'microSeconds', to yield to other threads and not waste 100% CPU cycles.
|
|
///Note that some operating systems may sleep a longer time.
|
|
static void usleep(int microSeconds);
|
|
|
|
private:
|
|
struct b3ClockData* m_data;
|
|
};
|
|
|
|
|
|
#endif //B3_CLOCK_H
|