Bullet Collision Detection & Physics Library
|
#include <btReducedDeformableBodySolver.h>
Public Member Functions | |
btReducedDeformableBodySolver () | |
~btReducedDeformableBodySolver () | |
virtual void | setGravity (const btVector3 &gravity) |
virtual SolverTypes | getSolverType () const |
Return the type of the solver. More... | |
virtual void | reinitialize (const btAlignedObjectArray< btSoftBody * > &bodies, btScalar dt) |
virtual void | predictMotion (btScalar solverdt) |
Predict motion of soft bodies into next timestep. More... | |
virtual void | applyTransforms (btScalar timeStep) |
virtual void | setConstraints (const btContactSolverInfo &infoGlobal) |
virtual btScalar | solveContactConstraints (btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal) |
virtual void | deformableBodyInternalWriteBack () |
Public Member Functions inherited from btDeformableBodySolver | |
btDeformableBodySolver () | |
virtual | ~btDeformableBodySolver () |
virtual SolverTypes | getSolverType () const |
Return the type of the solver. More... | |
virtual void | updateSoftBodies () |
Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More... | |
virtual btScalar | solveContactConstraints (btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal) |
virtual void | solveDeformableConstraints (btScalar solverdt) |
virtual void | setGravity (const btVector3 &gravity) |
virtual void | reinitialize (const btAlignedObjectArray< btSoftBody * > &softBodies, btScalar dt) |
virtual void | setConstraints (const btContactSolverInfo &infoGlobal) |
virtual void | predictMotion (btScalar solverdt) |
Predict motion of soft bodies into next timestep. More... | |
void | predictDeformableMotion (btSoftBody *psb, btScalar dt) |
void | backupVelocity () |
virtual void | setupDeformableSolve (bool implicit) |
void | revertVelocity () |
void | updateVelocity () |
bool | updateNodes () |
void | computeStep (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 | processCollision (btSoftBody *softBody, const btCollisionObjectWrapper *collisionObjectWrap) |
virtual void | processCollision (btSoftBody *softBody, btSoftBody *otherSoftBody) |
Process a collision between two soft bodies. More... | |
void | setImplicit (bool implicit) |
void | setLineSearch (bool lineSearch) |
void | updateState () |
void | updateDv (btScalar scale=1) |
void | updateTempPosition () |
void | backupDv () |
void | revertDv () |
void | updateEnergy (btScalar scale) |
btScalar | kineticEnergy () |
virtual void | applyExplicitForce () |
virtual void | applyTransforms (btScalar timeStep) |
virtual void | setStrainLimiting (bool opt) |
virtual void | setPreconditioner (int opt) |
virtual btAlignedObjectArray< btDeformableLagrangianForce * > * | getLagrangianForceArray () |
virtual const btAlignedObjectArray< btSoftBody::Node * > * | getIndices () |
virtual void | setProjection () |
virtual void | setLagrangeMultiplier () |
virtual bool | isReducedSolver () |
virtual void | deformableBodyInternalWriteBack () |
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false) |
Optimize soft bodies in this solver. More... | |
virtual void | solveConstraints (btScalar dt) |
Solve constraints for a set of soft bodies. More... | |
virtual bool | checkInitialized () |
Ensure that this solver is initialized. More... | |
virtual void | copyBackToSoftBodies (bool bMove=true) |
Copy necessary data back to the original soft body source objects. More... | |
Public Member Functions inherited from btSoftBodySolver | |
btSoftBodySolver () | |
virtual | ~btSoftBodySolver () |
virtual SolverTypes | getSolverType () const =0 |
Return the type of the solver. More... | |
virtual bool | checkInitialized ()=0 |
Ensure that this solver is initialized. More... | |
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0 |
Optimize soft bodies in this solver. More... | |
virtual void | copyBackToSoftBodies (bool bMove=true)=0 |
Copy necessary data back to the original soft body source objects. More... | |
virtual void | predictMotion (btScalar solverdt)=0 |
Predict motion of soft bodies into next timestep. More... | |
virtual void | solveConstraints (btScalar solverdt)=0 |
Solve constraints for a set of soft bodies. More... | |
virtual void | updateSoftBodies ()=0 |
Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More... | |
virtual void | processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=0 |
Process a collision between one of the world's soft bodies and another collision object. More... | |
virtual void | processCollision (btSoftBody *, btSoftBody *)=0 |
Process a collision between two soft bodies. More... | |
virtual void | setNumberOfPositionIterations (int iterations) |
Set the number of velocity constraint solver iterations this solver uses. More... | |
virtual int | getNumberOfPositionIterations () |
Get the number of velocity constraint solver iterations this solver uses. More... | |
virtual void | setNumberOfVelocityIterations (int iterations) |
Set the number of velocity constraint solver iterations this solver uses. More... | |
virtual int | getNumberOfVelocityIterations () |
Get the number of velocity constraint solver iterations this solver uses. More... | |
float | getTimeScale () |
Return the timescale that the simulation is using. More... | |
Protected Member Functions | |
void | predictReduceDeformableMotion (btScalar solverdt) |
void | applyExplicitForce (btScalar solverdt) |
Protected Attributes | |
bool | m_ascendOrder |
btScalar | m_dampingAlpha |
btScalar | m_dampingBeta |
btVector3 | m_gravity |
Protected Attributes inherited from btDeformableBodySolver | |
int | m_numNodes |
TVStack | m_dv |
TVStack | m_backup_dv |
TVStack | m_ddv |
TVStack | m_residual |
btAlignedObjectArray< btSoftBody * > | m_softBodies |
TVStack | m_backupVelocity |
btScalar | m_dt |
btConjugateGradient< btDeformableBackwardEulerObjective > | m_cg |
btConjugateResidual< btDeformableBackwardEulerObjective > | m_cr |
bool | m_implicit |
int | m_maxNewtonIterations |
btScalar | m_newtonTolerance |
bool | m_lineSearch |
bool | m_reducedSolver |
Protected Attributes inherited from btSoftBodySolver | |
int | m_numberOfPositionIterations |
int | m_numberOfVelocityIterations |
float | m_timeScale |
Additional Inherited Members | |
Public Types inherited from btSoftBodySolver | |
enum | SolverTypes { DEFAULT_SOLVER , CPU_SOLVER , CL_SOLVER , CL_SIMD_SOLVER , DX_SOLVER , DX_SIMD_SOLVER , DEFORMABLE_SOLVER , REDUCED_DEFORMABLE_SOLVER } |
Definition at line 9 of file btReducedDeformableBodySolver.h.
btReducedDeformableBodySolver::btReducedDeformableBodySolver | ( | ) |
Definition at line 4 of file btReducedDeformableBodySolver.cpp.
|
inline |
Definition at line 28 of file btReducedDeformableBodySolver.h.
|
protected |
Definition at line 139 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 163 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 316 of file btReducedDeformableBodySolver.cpp.
|
inlinevirtual |
Return the type of the solver.
Reimplemented from btDeformableBodySolver.
Definition at line 32 of file btReducedDeformableBodySolver.h.
|
virtual |
Predict motion of soft bodies into next timestep.
Reimplemented from btDeformableBodySolver.
Definition at line 77 of file btReducedDeformableBodySolver.cpp.
|
protected |
Definition at line 87 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 18 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 196 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 13 of file btReducedDeformableBodySolver.cpp.
|
virtual |
Reimplemented from btDeformableBodySolver.
Definition at line 242 of file btReducedDeformableBodySolver.cpp.
|
protected |
Definition at line 12 of file btReducedDeformableBodySolver.h.
|
protected |
Definition at line 13 of file btReducedDeformableBodySolver.h.
|
protected |
Definition at line 14 of file btReducedDeformableBodySolver.h.
btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableFaceRigidContactConstraint> > btReducedDeformableBodySolver::m_faceRigidConstraints |
Definition at line 25 of file btReducedDeformableBodySolver.h.
|
protected |
Definition at line 16 of file btReducedDeformableBodySolver.h.
btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableNodeRigidContactConstraint> > btReducedDeformableBodySolver::m_nodeRigidConstraints |
Definition at line 24 of file btReducedDeformableBodySolver.h.
btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableStaticConstraint> > btReducedDeformableBodySolver::m_staticConstraints |
Definition at line 23 of file btReducedDeformableBodySolver.h.