address PR comments
This commit is contained in:
@@ -21,7 +21,6 @@ subject to the following restrictions:
|
|||||||
#include "LinearMath/btVector3.h"
|
#include "LinearMath/btVector3.h"
|
||||||
#include "LinearMath/btTransform.h"
|
#include "LinearMath/btTransform.h"
|
||||||
#include "LinearMath/btAabbUtil2.h"
|
#include "LinearMath/btAabbUtil2.h"
|
||||||
#include <iostream>
|
|
||||||
//
|
//
|
||||||
// Compile time configuration
|
// Compile time configuration
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ void btDeformableBodySolver::updateEnergy(btScalar scale)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
btScalar btDeformableBodySolver::computeDescentStep(TVStack& ddv, const TVStack& residual)
|
btScalar btDeformableBodySolver::computeDescentStep(TVStack& ddv, const TVStack& residual, bool verbose)
|
||||||
{
|
{
|
||||||
m_cg.solve(*m_objective, ddv, residual, false);
|
m_cg.solve(*m_objective, ddv, residual, false);
|
||||||
btScalar inner_product = m_cg.dot(residual, m_ddv);
|
btScalar inner_product = m_cg.dot(residual, m_ddv);
|
||||||
@@ -157,7 +157,10 @@ btScalar btDeformableBodySolver::computeDescentStep(TVStack& ddv, const TVStack&
|
|||||||
btScalar tol = 1e-5 * res_norm * m_objective->computeNorm(m_ddv);
|
btScalar tol = 1e-5 * res_norm * m_objective->computeNorm(m_ddv);
|
||||||
if (inner_product < -tol)
|
if (inner_product < -tol)
|
||||||
{
|
{
|
||||||
std::cout << "Looking backwards!" << std::endl;
|
if (verbose)
|
||||||
|
{
|
||||||
|
std::cout << "Looking backwards!" << std::endl;
|
||||||
|
}
|
||||||
for (int i = 0; i < m_ddv.size();++i)
|
for (int i = 0; i < m_ddv.size();++i)
|
||||||
{
|
{
|
||||||
m_ddv[i] = -m_ddv[i];
|
m_ddv[i] = -m_ddv[i];
|
||||||
@@ -166,7 +169,10 @@ btScalar btDeformableBodySolver::computeDescentStep(TVStack& ddv, const TVStack&
|
|||||||
}
|
}
|
||||||
else if (std::abs(inner_product) < tol)
|
else if (std::abs(inner_product) < tol)
|
||||||
{
|
{
|
||||||
std::cout << "Gradient Descent!" << std::endl;
|
if (verbose)
|
||||||
|
{
|
||||||
|
std::cout << "Gradient Descent!" << std::endl;
|
||||||
|
}
|
||||||
btScalar scale = m_objective->computeNorm(m_ddv) / res_norm;
|
btScalar scale = m_objective->computeNorm(m_ddv) / res_norm;
|
||||||
for (int i = 0; i < m_ddv.size();++i)
|
for (int i = 0; i < m_ddv.size();++i)
|
||||||
{
|
{
|
||||||
@@ -229,7 +235,7 @@ void btDeformableBodySolver::setConstraints()
|
|||||||
|
|
||||||
btScalar btDeformableBodySolver::solveContactConstraints()
|
btScalar btDeformableBodySolver::solveContactConstraints()
|
||||||
{
|
{
|
||||||
BT_PROFILE("setConstraint");
|
BT_PROFILE("solveContactConstraints");
|
||||||
btScalar maxSquaredResidual = m_objective->m_projection.update();
|
btScalar maxSquaredResidual = m_objective->m_projection.update();
|
||||||
return maxSquaredResidual;
|
return maxSquaredResidual;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public:
|
|||||||
void computeStep(TVStack& ddv, const TVStack& residual);
|
void computeStep(TVStack& ddv, const TVStack& residual);
|
||||||
|
|
||||||
// calculate the change in dv resulting from the momentum solve when line search is turned on
|
// calculate the change in dv resulting from the momentum solve when line search is turned on
|
||||||
btScalar computeDescentStep(TVStack& ddv, const TVStack& residual);
|
btScalar computeDescentStep(TVStack& ddv, const TVStack& residual, bool verbose=false);
|
||||||
|
|
||||||
virtual void copySoftBodyToVertexBuffer(const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer) {}
|
virtual void copySoftBodyToVertexBuffer(const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer) {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user