chrono::ChRealtimeStepTimer Class Reference

Description

Class for a timer which attempts to enforce soft real-time.

#include <ChRealtimeStep.h>

Inheritance diagram for chrono::ChRealtimeStepTimer:
Collaboration diagram for chrono::ChRealtimeStepTimer:

Public Member Functions

 ChRealtimeStepTimer ()
 Create the timer (outside the simulation loop, preferably just before beginning the loop)
 
void Spin (double step)
 Call this function INSIDE the simulation loop, just ONCE per loop (preferably as the last call in the loop), passing it the integration step size used at this step. More...
 
- Public Member Functions inherited from chrono::ChTimer
void start ()
 Start the timer.
 
void stop ()
 Stop the timer.
 
void reset ()
 Reset the total accumulated time (when repeating multiple start/stop).
 
unsigned long long GetTimeMilliseconds () const
 Return the time in milliseconds. More...
 
unsigned long long GetTimeMicroseconds () const
 Return the time in microseconds. More...
 
double GetTimeSeconds () const
 Return the time in seconds. More...
 
unsigned long long GetTimeMillisecondsIntermediate () const
 Return the time in m,illiseconds since start(). More...
 
unsigned long long GetTimeMicrosecondsIntermediate () const
 Return the time in microseconds since start(). More...
 
double GetTimeSecondsIntermediate () const
 Return the time in seconds since start(). More...
 
double operator() () const
 Get the last timer value, in seconds.
 

Member Function Documentation

◆ Spin()

void chrono::ChRealtimeStepTimer::Spin ( double  step)
inline

Call this function INSIDE the simulation loop, just ONCE per loop (preferably as the last call in the loop), passing it the integration step size used at this step.

If the time elapsed over the last step (i.e., from the last call to Spin) is small than the integration step size, this function will spin in place until real time catches up with the simulation time, thus providing soft real-time capabilities.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/core/ChRealtimeStep.h