6 template <
typename C>
static void updatePosition(C &c,
const double &dt) {
8 auto oldVel = c.getVelocity();
9 c.setVelocity(c.getVelocity() + c.getForce() * dt / c.getMass());
10 c.setPrevposition(c.getPosition());
11 c.setPosition(c.getPosition() + (c.getVelocity() + oldVel) * dt * 0.5);
16 auto oldVel = c.getAngularVelocity();
17 c.setAngularVelocity(c.getAngularVelocity() + c.getTorque() * dt / momentOfInertia);
18 c.setOrientationRotation(c.getOrientationRotation() +
19 (c.getAngularVelocity() + oldVel) * dt * 0.5);
20 c.updateCurrentOrientation();
27 c.setVelocity(c.getVelocity() + c.getForce() * dt / c.getMass());
28 c.setPrevposition(c.getPosition());
29 c.setPosition(c.getPosition() + c.getVelocity() * dt);
35 c.setAngularVelocity(c.getAngularVelocity() + c.getTorque() * dt / momentOfInertia);
36 c.setOrientationRotation(c.getOrientationRotation() + c.getAngularVelocity() * dt);
37 c.updateCurrentOrientation();
this file contains various miscellanious utility functions & helpers *
static void updatePosition(C &c, const double &dt)
static void updateOrientation(C &c, double momentOfInertia, const double &dt)
static void updateOrientation(C &c, double momentOfInertia, const double &dt)
static void updatePosition(C &c, const double &dt)