Kernel performing integration of the particles after the HCSITS iteration is done.
Call this kernel on all particles j to integrate them by a timestep of size dt. The Speed Limiter limits the number of body radii, a particle can travel in one timestep. The speed limit factor defines a number of radii that are allowed in a timestep, e.g. a factor of 1 means, that a particle can only travel one time its radius in each timestep.
#include <IntegrateParticlesHCSITS.h>
Public Member Functions | |
IntegrateParticlesHCSITS () | |
const bool & | getSpeedLimiterActive () const |
void | setSpeedLimiterActive (bool v) |
const real_t & | getSpeedLimitFactor () const |
void | setSpeedLimitFactor (real_t v) |
template<typename PAccessor > | |
void | operator() (size_t j, PAccessor &ac, real_t dt) |
template<typename PAccessor > | |
void | integratePositions (PAccessor &ac, size_t body, Vec3 v, Vec3 w, real_t dt) const |
Time integration of the position and orientation of a given body. More... | |
Private Attributes | |
bool | speedLimiterActive_ |
real_t | speedLimitFactor_ |
|
inline |
|
inline |
|
inline |
|
inline |
Time integration of the position and orientation of a given body.
body | The body whose position and orientation to time integrate |
v | The linear velocity to use for time integration of the position. |
w | The angular velocity to use for time integration of the orientation. |
dt | The time step size. |
Performs an Euler time integration of the positions of the given body. Velocities are damped if indicated by the settings and stored back in the body properties. The bounding box is recalculated and it is redetermined whether the body is awake or not. Also the data structure tracking the contacts attached to the body are cleared and
|
inline |
|
inline |
|
inline |
|
private |
|
private |