MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::ChRealtimeStepTimer Class Reference

#include <CHrealtimeStep.h>

Inheritance diagram for chrono::ChRealtimeStepTimer:

Inheritance graph
[legend]
Collaboration diagram for chrono::ChRealtimeStepTimer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChRealtimeStepTimer ()
double SuggestSimulationStep (double max_step=0.02, double min_step=CH_NANOTOL)


Detailed Description

Class for a timer which measure the time spent in VR or game-like simulation loops, and suggests a dt integration step for the physical simulation for the next step. Uses high-resolution timer. Note that the suggested integrations step tries to keep a true real-time pace in advancing the simulation, that is the simulated time should match the real time. The suggested step may be non-constant because the overhead of the simulaiton loop may vary because of varying overhead in visualization, collision or simulation.

Constructor & Destructor Documentation

chrono::ChRealtimeStepTimer::ChRealtimeStepTimer (  ) 

Create the timer (outside the simulation loop, preferably just before beginning the while{} loop)


Member Function Documentation

double chrono::ChRealtimeStepTimer::SuggestSimulationStep ( double  max_step = 0.02,
double  min_step = CH_NANOTOL 
)

Call this function INSIDE the simulation loop, just ONCE per loop, to get the suggested time for the next integration time step. If the the ChRealtimeStepTimer measured that previous simulation step required few real-time, it will suggest a corresponding small value for advancing the simulated time, and viceversa will give higher values (up to a maximum 'max_step' limit, however) if the simulation goes slow because of high CPU overhead. If the clamping value of 'max_step' is not reached, the real-time and simulated time should always match. There is also an optional 'min_step' value, which avoids too small integration steps.

Parameters:
max_step  upper limit for step
min_step  lower limit for step


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on 17 Jul 2009 by Doxygen