Blender
V3.3
|
#include <btDeformableBackwardEulerObjective.h>
Public Types | |
typedef btAlignedObjectArray< btVector3 > | TVStack |
Definition at line 31 of file btDeformableBackwardEulerObjective.h.
Definition at line 34 of file btDeformableBackwardEulerObjective.h.
btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective | ( | btAlignedObjectArray< btSoftBody * > & | softBodies, |
const TVStack & | backup_v | ||
) |
Definition at line 20 of file btDeformableBackwardEulerObjective.cpp.
References m_dt, m_implicit, m_KKTPreconditioner, m_lf, m_massPreconditioner, m_preconditioner, m_projection, and m_softBodies.
|
virtual |
Definition at line 28 of file btDeformableBackwardEulerObjective.cpp.
References m_KKTPreconditioner, and m_massPreconditioner.
|
inline |
Definition at line 136 of file btDeformableBackwardEulerObjective.h.
References btDeformableContactProjection::m_lagrangeMultipliers, m_projection, offset, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by btDeformableBodySolver::solveDeformableConstraints().
|
inline |
Definition at line 150 of file btDeformableBackwardEulerObjective.h.
References LagrangeMultiplier::m_dirs, LagrangeMultiplier::m_indices, btDeformableContactProjection::m_lagrangeMultipliers, LagrangeMultiplier::m_num_constraints, LagrangeMultiplier::m_num_nodes, m_projection, LagrangeMultiplier::m_weights, offset, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by btDeformableBodySolver::solveDeformableConstraints().
Definition at line 293 of file btDeformableBackwardEulerObjective.cpp.
References btDeformableContactProjection::applyDynamicFriction(), m_projection, and r.
Referenced by btDeformableBodySolver::solveDeformableConstraints().
Definition at line 213 of file btDeformableBackwardEulerObjective.cpp.
References applyForce(), BT_GRAVITY_FORCE, btVector3, m_dt, m_gravity, btSoftBody::m_gravityFactor, m_implicit, m_lf, btSoftBody::m_nodes, m_softBodies, and btAlignedObjectArray< T >::size().
Referenced by btDeformableBodySolver::predictMotion().
Definition at line 137 of file btDeformableBackwardEulerObjective.cpp.
References counter, m_implicit, btSoftBody::m_nodes, m_softBodies, setZero(), and btAlignedObjectArray< T >::size().
Referenced by applyExplicitForce().
|
inline |
Definition at line 172 of file btDeformableBackwardEulerObjective.h.
References btVector3, counter, m_dt, m_lf, btSoftBody::m_nodes, m_softBodies, node, and btAlignedObjectArray< T >::size().
Definition at line 193 of file btDeformableBackwardEulerObjective.cpp.
References btAlignedObjectArray< T >::size(), and sqrt().
Referenced by btDeformableBodySolver::computeDescentStep(), and btDeformableBodySolver::solveDeformableConstraints().
Definition at line 174 of file btDeformableBackwardEulerObjective.cpp.
References BT_MOUSE_PICKING_FORCE, BT_PROFILE, m_implicit, m_lf, and btAlignedObjectArray< T >::size().
Referenced by btDeformableBodySolver::solveDeformableConstraints().
void btDeformableBackwardEulerObjective::computeStep | ( | TVStack & | dv, |
const TVStack & | residual, | ||
const btScalar & | dt | ||
) |
|
inline |
Definition at line 123 of file btDeformableBackwardEulerObjective.h.
References m_nodes.
Referenced by btDeformableMultiBodyDynamicsWorld::addForce().
Definition at line 273 of file btDeformableBackwardEulerObjective.cpp.
References counter, btSoftBody::m_nodes, m_softBodies, and btAlignedObjectArray< T >::size().
Definition at line 50 of file btDeformableBackwardEulerObjective.h.
Definition at line 69 of file btDeformableBackwardEulerObjective.cpp.
References usdtokens::b(), BT_MOUSE_PICKING_FORCE, BT_PROFILE, btVector3, Freestyle::c, counter, LagrangeMultiplier::m_dirs, m_dt, m_implicit, LagrangeMultiplier::m_indices, btDeformableContactProjection::m_lagrangeMultipliers, m_lf, m_nodes, btSoftBody::m_nodes, LagrangeMultiplier::m_num_constraints, LagrangeMultiplier::m_num_nodes, m_projection, m_softBodies, LagrangeMultiplier::m_weights, node, offset, btAlignedObjectArray< T >::size(), and x.
Definition at line 95 of file btDeformableBackwardEulerObjective.h.
References usdtokens::b(), m_preconditioner, and x.
Definition at line 88 of file btDeformableBackwardEulerObjective.h.
References BT_PROFILE, m_projection, btDeformableContactProjection::project(), and r.
Definition at line 34 of file btDeformableBackwardEulerObjective.cpp.
References BT_PROFILE, btMatrix3x3, I, m_lf, btSoftBody::m_nodes, m_projection, m_softBodies, btDeformableContactProjection::reinitialize(), setDt(), btAlignedObjectArray< T >::size(), and updateId().
Referenced by btDeformableBodySolver::reinitialize().
void btDeformableBackwardEulerObjective::setConstraints | ( | const btContactSolverInfo & | infoGlobal | ) |
Definition at line 288 of file btDeformableBackwardEulerObjective.cpp.
References infoGlobal, m_projection, and btDeformableContactProjection::setConstraints().
Referenced by btDeformableBodySolver::setConstraints().
Definition at line 64 of file btDeformableBackwardEulerObjective.cpp.
References m_dt.
Referenced by reinitialize().
Definition at line 128 of file btDeformableBackwardEulerObjective.h.
References m_implicit.
Referenced by btDeformableBodySolver::setImplicit().
Definition at line 203 of file btDeformableBackwardEulerObjective.cpp.
References e, m_lf, and btAlignedObjectArray< T >::size().
Referenced by btDeformableBodySolver::solveDeformableConstraints().
|
inlinevirtual |
Definition at line 101 of file btDeformableBackwardEulerObjective.h.
References btAlignedObjectArray< T >::clear(), btSoftBody::m_faces, m_nodes, btSoftBody::m_nodes, m_softBodies, btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
Referenced by reinitialize().
Definition at line 124 of file btDeformableBackwardEulerObjective.cpp.
References m_backupVelocity, btSoftBody::m_nodes, m_softBodies, node, and btAlignedObjectArray< T >::size().
const TVStack& btDeformableBackwardEulerObjective::m_backupVelocity |
Definition at line 40 of file btDeformableBackwardEulerObjective.h.
Referenced by updateVelocity().
btScalar btDeformableBackwardEulerObjective::m_dt |
Definition at line 35 of file btDeformableBackwardEulerObjective.h.
Referenced by applyExplicitForce(), btDeformableBackwardEulerObjective(), calculateContactForce(), multiply(), and setDt().
bool btDeformableBackwardEulerObjective::m_implicit |
Definition at line 42 of file btDeformableBackwardEulerObjective.h.
Referenced by applyExplicitForce(), applyForce(), btDeformableBackwardEulerObjective(), computeResidual(), multiply(), and setImplicit().
KKTPreconditioner* btDeformableBackwardEulerObjective::m_KKTPreconditioner |
Definition at line 44 of file btDeformableBackwardEulerObjective.h.
Referenced by btDeformableBackwardEulerObjective(), btDeformableMultiBodyDynamicsWorld::reinitialize(), and ~btDeformableBackwardEulerObjective().
btAlignedObjectArray<btDeformableLagrangianForce*> btDeformableBackwardEulerObjective::m_lf |
Definition at line 36 of file btDeformableBackwardEulerObjective.h.
Referenced by btDeformableMultiBodyDynamicsWorld::addForce(), applyExplicitForce(), btDeformableBackwardEulerObjective(), calculateContactForce(), computeResidual(), multiply(), reinitialize(), btDeformableMultiBodyDynamicsWorld::removeForce(), btDeformableMultiBodyDynamicsWorld::removeSoftBodyForce(), and totalEnergy().
MassPreconditioner* btDeformableBackwardEulerObjective::m_massPreconditioner |
Definition at line 43 of file btDeformableBackwardEulerObjective.h.
Referenced by btDeformableBackwardEulerObjective(), btDeformableMultiBodyDynamicsWorld::reinitialize(), and ~btDeformableBackwardEulerObjective().
btAlignedObjectArray<btSoftBody::Node*> btDeformableBackwardEulerObjective::m_nodes |
Definition at line 41 of file btDeformableBackwardEulerObjective.h.
Referenced by getIndices(), multiply(), and updateId().
Preconditioner* btDeformableBackwardEulerObjective::m_preconditioner |
Definition at line 38 of file btDeformableBackwardEulerObjective.h.
Referenced by btDeformableBackwardEulerObjective(), precondition(), btDeformableMultiBodyDynamicsWorld::reinitialize(), and btDeformableBodySolver::solveDeformableConstraints().
btDeformableContactProjection btDeformableBackwardEulerObjective::m_projection |
Definition at line 39 of file btDeformableBackwardEulerObjective.h.
Referenced by addLagrangeMultiplier(), addLagrangeMultiplierRHS(), applyDynamicFriction(), btDeformableBackwardEulerObjective(), multiply(), project(), reinitialize(), btDeformableMultiBodyDynamicsWorld::reinitialize(), setConstraints(), btDeformableMultiBodyDynamicsWorld::solveConstraints(), and btDeformableBodySolver::solveContactConstraints().
btAlignedObjectArray<btSoftBody*>& btDeformableBackwardEulerObjective::m_softBodies |
Definition at line 37 of file btDeformableBackwardEulerObjective.h.
Referenced by applyExplicitForce(), applyForce(), btDeformableBackwardEulerObjective(), calculateContactForce(), initialGuess(), multiply(), reinitialize(), updateId(), and updateVelocity().