From 817e64a769219621de0debc4979630953dbee60b Mon Sep 17 00:00:00 2001 From: Xuchen Han Date: Thu, 8 Aug 2019 17:26:19 -0700 Subject: remove one softbody array copy --- .../ThirdPartyLibs/openvr/bin/osx64/libopenvr_api.a | Bin 1641184 -> 0 bytes src/BulletSoftBody/btCGProjection.h | 8 +------- .../btDeformableBackwardEulerObjective.cpp | 4 ++-- .../btDeformableBackwardEulerObjective.h | 4 ++-- src/BulletSoftBody/btDeformableBodySolver.cpp | 3 +-- 5 files changed, 6 insertions(+), 13 deletions(-) delete mode 100644 examples/ThirdPartyLibs/openvr/bin/osx64/libopenvr_api.a diff --git a/examples/ThirdPartyLibs/openvr/bin/osx64/libopenvr_api.a b/examples/ThirdPartyLibs/openvr/bin/osx64/libopenvr_api.a deleted file mode 100644 index 377e345f2..000000000 Binary files a/examples/ThirdPartyLibs/openvr/bin/osx64/libopenvr_api.a and /dev/null differ diff --git a/src/BulletSoftBody/btCGProjection.h b/src/BulletSoftBody/btCGProjection.h index 430327ea0..6b5caf581 100644 --- a/src/BulletSoftBody/btCGProjection.h +++ b/src/BulletSoftBody/btCGProjection.h @@ -111,7 +111,7 @@ public: typedef btAlignedObjectArray TVStack; typedef btAlignedObjectArray > TVArrayStack; typedef btAlignedObjectArray > TArrayStack; - btAlignedObjectArray m_softBodies; + btAlignedObjectArray& m_softBodies; btDeformableRigidDynamicsWorld* m_world; // const btAlignedObjectArray* m_nodes; const btScalar& m_dt; @@ -119,7 +119,6 @@ public: btCGProjection(btAlignedObjectArray& softBodies, const btScalar& dt) : m_softBodies(softBodies) , m_dt(dt) -// , m_nodes(nodes) { } @@ -139,11 +138,6 @@ public: { } - void setSoftBodies(btAlignedObjectArray softBodies) - { - m_softBodies.copyFromArray(softBodies); - } - virtual void setWorld(btDeformableRigidDynamicsWorld* world) { m_world = world; diff --git a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp index 3e6656c0d..fbc663f35 100644 --- a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp +++ b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp @@ -22,13 +22,13 @@ btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective(btAligned m_preconditioner = new DefaultPreconditioner(); } -void btDeformableBackwardEulerObjective::reinitialize(bool nodeUpdated) +void btDeformableBackwardEulerObjective::reinitialize(bool nodeUpdated, btScalar dt) { BT_PROFILE("reinitialize"); + setDt(dt); if(nodeUpdated) { updateId(); - projection.setSoftBodies(m_softBodies); } for (int i = 0; i < m_lf.size(); ++i) { diff --git a/src/BulletSoftBody/btDeformableBackwardEulerObjective.h b/src/BulletSoftBody/btDeformableBackwardEulerObjective.h index 30c2d995e..c681300a7 100644 --- a/src/BulletSoftBody/btDeformableBackwardEulerObjective.h +++ b/src/BulletSoftBody/btDeformableBackwardEulerObjective.h @@ -62,8 +62,8 @@ public: // set initial guess for CG solve void initialGuess(TVStack& dv, const TVStack& residual); - // reset data structure - void reinitialize(bool nodeUpdated); + // reset data structure and reset dt + void reinitialize(bool nodeUpdated, btScalar dt); void setDt(btScalar dt); diff --git a/src/BulletSoftBody/btDeformableBodySolver.cpp b/src/BulletSoftBody/btDeformableBodySolver.cpp index 4dd45edc8..b77ba9da3 100644 --- a/src/BulletSoftBody/btDeformableBodySolver.cpp +++ b/src/BulletSoftBody/btDeformableBodySolver.cpp @@ -51,7 +51,6 @@ void btDeformableBodySolver::computeStep(TVStack& dv, const TVStack& residual) void btDeformableBodySolver::reinitialize(const btAlignedObjectArray& softBodies, btScalar dt) { - m_objective->setDt(dt); m_softBodySet.copyFromArray(softBodies); bool nodeUpdated = updateNodes(); @@ -69,7 +68,7 @@ void btDeformableBodySolver::reinitialize(const btAlignedObjectArrayreinitialize(nodeUpdated); + m_objective->reinitialize(nodeUpdated, dt); } void btDeformableBodySolver::setConstraints() -- cgit v1.2.1