diff options
Diffstat (limited to 'thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h')
-rw-r--r-- | thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h b/thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h index 2a2f2d3d32..1f669751ce 100644 --- a/thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h +++ b/thirdparty/bullet/BulletDynamics/MLCPSolvers/btDantzigSolver.h @@ -20,30 +20,28 @@ subject to the following restrictions: #include "btMLCPSolverInterface.h" #include "btDantzigLCP.h" - class btDantzigSolver : public btMLCPSolverInterface { protected: - btScalar m_acceptableUpperLimitSolution; - btAlignedObjectArray<char> m_tempBuffer; + btAlignedObjectArray<char> m_tempBuffer; btAlignedObjectArray<btScalar> m_A; btAlignedObjectArray<btScalar> m_b; btAlignedObjectArray<btScalar> m_x; btAlignedObjectArray<btScalar> m_lo; btAlignedObjectArray<btScalar> m_hi; - btAlignedObjectArray<int> m_dependencies; + btAlignedObjectArray<int> m_dependencies; btDantzigScratchMemory m_scratchMemory; -public: +public: btDantzigSolver() - :m_acceptableUpperLimitSolution(btScalar(1000)) + : m_acceptableUpperLimitSolution(btScalar(1000)) { } - virtual bool solveMLCP(const btMatrixXu & A, const btVectorXu & b, btVectorXu& x, const btVectorXu & lo,const btVectorXu & hi,const btAlignedObjectArray<int>& limitDependency, int numIterations, bool useSparsity = true) + virtual bool solveMLCP(const btMatrixXu& A, const btVectorXu& b, btVectorXu& x, const btVectorXu& lo, const btVectorXu& hi, const btAlignedObjectArray<int>& limitDependency, int numIterations, bool useSparsity = true) { bool result = true; int n = b.rows(); @@ -52,14 +50,12 @@ public: int nub = 0; btAlignedObjectArray<btScalar> ww; ww.resize(n); - const btScalar* Aptr = A.getBufferPointer(); - m_A.resize(n*n); - for (int i=0;i<n*n;i++) + m_A.resize(n * n); + for (int i = 0; i < n * n; i++) { m_A[i] = Aptr[i]; - } m_b.resize(n); @@ -67,7 +63,7 @@ public: m_lo.resize(n); m_hi.resize(n); m_dependencies.resize(n); - for (int i=0;i<n;i++) + for (int i = 0; i < n; i++) { m_lo[i] = lo[i]; m_hi[i] = hi[i]; @@ -76,13 +72,12 @@ public: m_dependencies[i] = limitDependency[i]; } - - result = btSolveDantzigLCP (n,&m_A[0],&m_x[0],&m_b[0],&ww[0],nub,&m_lo[0],&m_hi[0],&m_dependencies[0],m_scratchMemory); + result = btSolveDantzigLCP(n, &m_A[0], &m_x[0], &m_b[0], &ww[0], nub, &m_lo[0], &m_hi[0], &m_dependencies[0], m_scratchMemory); if (!result) return result; -// printf("numAllocas = %d\n",numAllocas); - for (int i=0;i<n;i++) + // printf("numAllocas = %d\n",numAllocas); + for (int i = 0; i < n; i++) { volatile btScalar xx = m_x[i]; if (xx != m_x[i]) @@ -98,15 +93,14 @@ public: } } - for (int i=0;i<n;i++) + for (int i = 0; i < n; i++) { x[i] = m_x[i]; } - } return result; } }; -#endif //BT_DANTZIG_SOLVER_H +#endif //BT_DANTZIG_SOLVER_H |