00001 #ifndef POLARDECOMPOSITION_H 00002 #define POLARDECOMPOSITION_H 00003 00004 #include "btMatrix3x3.h" 00005 00014 class btPolarDecomposition 00015 { 00016 public: 00017 static const btScalar DEFAULT_TOLERANCE; 00018 static const unsigned int DEFAULT_MAX_ITERATIONS; 00019 00028 btPolarDecomposition(btScalar tolerance = DEFAULT_TOLERANCE, 00029 unsigned int maxIterations = DEFAULT_MAX_ITERATIONS); 00030 00042 unsigned int decompose(const btMatrix3x3& a, btMatrix3x3& u, btMatrix3x3& h) const; 00043 00050 unsigned int maxIterations() const; 00051 00052 private: 00053 btScalar m_tolerance; 00054 unsigned int m_maxIterations; 00055 }; 00056 00070 unsigned int polarDecompose(const btMatrix3x3& a, btMatrix3x3& u, btMatrix3x3& h); 00071 00072 #endif // POLARDECOMPOSITION_H 00073