18 const btScalar sum0 = abs_column_sum(
a, 0);
19 const btScalar sum1 = abs_column_sum(
a, 1);
20 const btScalar sum2 = abs_column_sum(
a, 2);
34 : m_tolerance(tolerance), m_maxIterations(maxIterations)
44 for (
unsigned int i = 0; i < m_maxIterations; ++i)
69 if (p1_norm(delta) <= m_tolerance * u_1)
71 h = u.transpose() *
a;
72 h = (h + h.transpose()) * 0.5;
79 h = u.transpose() *
a;
80 h = (h + h.transpose()) * 0.5;
82 return m_maxIterations;
87 return m_maxIterations;
btMatrix3x3
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
SIMD_FORCE_INLINE const T & btMax(const T &a, const T &b)
unsigned int polarDecompose(const btMatrix3x3 &a, btMatrix3x3 &u, btMatrix3x3 &h)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
SIMD_FORCE_INLINE btScalar btFabs(btScalar x)
SIMD_FORCE_INLINE bool btFuzzyZero(btScalar x)
SIMD_FORCE_INLINE btScalar btPow(btScalar x, btScalar y)
btPolarDecomposition(btScalar tolerance=btScalar(0.0001), unsigned int maxIterations=16)
unsigned int decompose(const btMatrix3x3 &a, btMatrix3x3 &u, btMatrix3x3 &h) const
unsigned int maxIterations() const