
to btScalar.h:
Code: Select all
SIMD_FORCE_INLINE btScalar btRecip( const btScalar& x ) { return x != btScalar(0.0) ? btScalar(1.0) / x: btScalar(0.0); }
to btVector3.h, method of btVector3 class:
Code: Select all
SIMD_FORCE_INLINE btVector3 getRecip() const
{
return btVector3( btRecip(m_floats[0]), btRecip(m_floats[1]), btRecip(m_floats[2]) );
}
to btRigidBody.cpp:
Code: Select all
void btRigidBody::setMassProps(btScalar mass, const btVector3& inertia)
{
m_inverseMass = btRecip(mass);
if (mass == btScalar(0.))
m_collisionFlags |= btCollisionObject::CF_STATIC_OBJECT;
else
m_collisionFlags &= (~btCollisionObject::CF_STATIC_OBJECT);
//Fg = m * a
m_gravity = mass * m_gravity_acceleration;
m_invInertiaLocal = inertia.getRecip();
m_invMass = m_linearFactor*m_inverseMass;
}

Good Night