diff options
author | Xuchen Han <xuchenhan@xuchenhan-macbookpro.roam.corp.google.com> | 2019-08-06 10:16:56 -0700 |
---|---|---|
committer | Xuchen Han <xuchenhan@xuchenhan-macbookpro.roam.corp.google.com> | 2019-08-06 10:16:56 -0700 |
commit | 6a599bde87e53c22fb71cb6d35c718e9ea8083dc (patch) | |
tree | 0b517adbddc23782bcbaecfc5c2dc5d2944a11fa | |
parent | 73f5eb6a8f477c46b18a61476e81dc4dd9cb6612 (diff) | |
download | bullet3-6a599bde87e53c22fb71cb6d35c718e9ea8083dc.tar.gz |
setDt in reinitialize and remove unused variables
-rw-r--r-- | src/BulletSoftBody/btCGProjection.h | 6 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp | 2 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableBodySolver.cpp | 20 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableBodySolver.h | 2 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableContactProjection.cpp | 1 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableContactProjection.h | 4 | ||||
-rw-r--r-- | src/BulletSoftBody/btDeformableRigidDynamicsWorld.cpp | 2 |
7 files changed, 14 insertions, 23 deletions
diff --git a/src/BulletSoftBody/btCGProjection.h b/src/BulletSoftBody/btCGProjection.h index 667c715c0..430327ea0 100644 --- a/src/BulletSoftBody/btCGProjection.h +++ b/src/BulletSoftBody/btCGProjection.h @@ -113,13 +113,13 @@ public: typedef btAlignedObjectArray<btAlignedObjectArray<btScalar> > TArrayStack; btAlignedObjectArray<btSoftBody *> m_softBodies; btDeformableRigidDynamicsWorld* m_world; - const btAlignedObjectArray<btSoftBody::Node*>* m_nodes; +// const btAlignedObjectArray<btSoftBody::Node*>* m_nodes; const btScalar& m_dt; - btCGProjection(btAlignedObjectArray<btSoftBody *>& softBodies, const btScalar& dt, const btAlignedObjectArray<btSoftBody::Node*>* nodes) + btCGProjection(btAlignedObjectArray<btSoftBody *>& softBodies, const btScalar& dt) : m_softBodies(softBodies) , m_dt(dt) - , m_nodes(nodes) +// , m_nodes(nodes) { } diff --git a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp index 44783fb3d..3e6656c0d 100644 --- a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp +++ b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp @@ -16,7 +16,7 @@ btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective(btAlignedObjectArray<btSoftBody *>& softBodies, const TVStack& backup_v) : m_softBodies(softBodies) -, projection(m_softBodies, m_dt, &m_nodes) +, projection(m_softBodies, m_dt) , m_backupVelocity(backup_v) { m_preconditioner = new DefaultPreconditioner(); diff --git a/src/BulletSoftBody/btDeformableBodySolver.cpp b/src/BulletSoftBody/btDeformableBodySolver.cpp index 9382106e9..242b0a882 100644 --- a/src/BulletSoftBody/btDeformableBodySolver.cpp +++ b/src/BulletSoftBody/btDeformableBodySolver.cpp @@ -31,8 +31,6 @@ btDeformableBodySolver::~btDeformableBodySolver() void btDeformableBodySolver::solveConstraints(float solverdt) { BT_PROFILE("solveConstraints"); - m_objective->setDt(solverdt); - // add constraints to the solver setConstraints(); @@ -51,22 +49,16 @@ void btDeformableBodySolver::computeStep(TVStack& dv, const TVStack& residual) m_cg.solve(*m_objective, dv, residual, tolerance); } -void btDeformableBodySolver::reinitialize(const btAlignedObjectArray<btSoftBody *>& softBodies) +void btDeformableBodySolver::reinitialize(const btAlignedObjectArray<btSoftBody *>& softBodies, btScalar dt) { + m_objective->setDt(dt); m_softBodySet.copyFromArray(softBodies); bool nodeUpdated = updateNodes(); - if (nodeUpdated) - { - m_dv.resize(m_numNodes); - m_residual.resize(m_numNodes); - m_backupVelocity.resize(m_numNodes); - } - for (int i = 0; i < m_dv.size(); ++i) - { - m_dv[i].setZero(); - m_residual[i].setZero(); - } + m_dv.resize(m_numNodes, btVector3(0,0,0)); + m_residual.resize(m_numNodes, btVector3(0,0,0)); + m_backupVelocity.resize(m_numNodes, btVector3(0,0,0)); + m_objective->reinitialize(nodeUpdated); } diff --git a/src/BulletSoftBody/btDeformableBodySolver.h b/src/BulletSoftBody/btDeformableBodySolver.h index 7186f8fb2..cdcc6ed80 100644 --- a/src/BulletSoftBody/btDeformableBodySolver.h +++ b/src/BulletSoftBody/btDeformableBodySolver.h @@ -60,7 +60,7 @@ public: virtual void solveConstraints(float solverdt); - void reinitialize(const btAlignedObjectArray<btSoftBody *>& softBodies); + void reinitialize(const btAlignedObjectArray<btSoftBody *>& softBodies, btScalar dt); void setConstraints(); diff --git a/src/BulletSoftBody/btDeformableContactProjection.cpp b/src/BulletSoftBody/btDeformableContactProjection.cpp index 7470c7a93..27fee5cf8 100644 --- a/src/BulletSoftBody/btDeformableContactProjection.cpp +++ b/src/BulletSoftBody/btDeformableContactProjection.cpp @@ -254,7 +254,6 @@ void btDeformableContactProjection::setConstraints() btSoftBody* psb = m_softBodies[i]; btMultiBodyJacobianData jacobianData_normal; btMultiBodyJacobianData jacobianData_complementary; - std::cout <<psb->m_rcontacts.size() << std::endl; for (int j = 0; j < psb->m_rcontacts.size(); ++j) { const btSoftBody::RContact& c = psb->m_rcontacts[j]; diff --git a/src/BulletSoftBody/btDeformableContactProjection.h b/src/BulletSoftBody/btDeformableContactProjection.h index 51ea92689..9589b165e 100644 --- a/src/BulletSoftBody/btDeformableContactProjection.h +++ b/src/BulletSoftBody/btDeformableContactProjection.h @@ -25,8 +25,8 @@ public: btHashMap<btHashInt, btAlignedObjectArray<DeformableContactConstraint> > m_constraints; btHashMap<btHashInt, btAlignedObjectArray<DeformableFrictionConstraint> >m_frictions; - btDeformableContactProjection(btAlignedObjectArray<btSoftBody *>& softBodies, const btScalar& dt, const btAlignedObjectArray<btSoftBody::Node*>* nodes) - : btCGProjection(softBodies, dt, nodes) + btDeformableContactProjection(btAlignedObjectArray<btSoftBody *>& softBodies, const btScalar& dt) + : btCGProjection(softBodies, dt) { } diff --git a/src/BulletSoftBody/btDeformableRigidDynamicsWorld.cpp b/src/BulletSoftBody/btDeformableRigidDynamicsWorld.cpp index 116d4e0bc..5afc88323 100644 --- a/src/BulletSoftBody/btDeformableRigidDynamicsWorld.cpp +++ b/src/BulletSoftBody/btDeformableRigidDynamicsWorld.cpp @@ -179,7 +179,7 @@ void btDeformableRigidDynamicsWorld::predictUnconstraintMotion(btScalar timeStep void btDeformableRigidDynamicsWorld::reinitialize(btScalar timeStep) { m_internalTime += timeStep; - m_deformableBodySolver->reinitialize(m_softBodies); + m_deformableBodySolver->reinitialize(m_softBodies, timeStep); btDispatcherInfo& dispatchInfo = btMultiBodyDynamicsWorld::getDispatchInfo(); dispatchInfo.m_timeStep = timeStep; dispatchInfo.m_stepCount = 0; |