Blender
V3.3
|
#include <btSoftBodySolvers.h>
Public Types | |
enum | SolverTypes { DEFAULT_SOLVER , CPU_SOLVER , CL_SOLVER , CL_SIMD_SOLVER , DX_SOLVER , DX_SIMD_SOLVER , DEFORMABLE_SOLVER } |
Public Member Functions | |
btSoftBodySolver () | |
virtual | ~btSoftBodySolver () |
virtual SolverTypes | getSolverType () const =0 |
virtual bool | checkInitialized ()=0 |
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0 |
virtual void | copyBackToSoftBodies (bool bMove=true)=0 |
virtual void | predictMotion (btScalar solverdt)=0 |
virtual void | solveConstraints (btScalar solverdt)=0 |
virtual void | updateSoftBodies ()=0 |
virtual void | processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=0 |
virtual void | processCollision (btSoftBody *, btSoftBody *)=0 |
virtual void | setNumberOfPositionIterations (int iterations) |
virtual int | getNumberOfPositionIterations () |
virtual void | setNumberOfVelocityIterations (int iterations) |
virtual int | getNumberOfVelocityIterations () |
float | getTimeScale () |
Protected Attributes | |
int | m_numberOfPositionIterations |
int | m_numberOfVelocityIterations |
float | m_timeScale |
Definition at line 28 of file btSoftBodySolvers.h.
Enumerator | |
---|---|
DEFAULT_SOLVER | |
CPU_SOLVER | |
CL_SOLVER | |
CL_SIMD_SOLVER | |
DX_SOLVER | |
DX_SIMD_SOLVER | |
DEFORMABLE_SOLVER |
Definition at line 31 of file btSoftBodySolvers.h.
|
inline |
Definition at line 49 of file btSoftBodySolvers.h.
References m_numberOfPositionIterations, and m_numberOfVelocityIterations.
|
inlinevirtual |
Definition at line 56 of file btSoftBodySolvers.h.
Referenced by btSoftMultiBodyDynamicsWorld::~btSoftMultiBodyDynamicsWorld(), and btSoftRigidDynamicsWorld::~btSoftRigidDynamicsWorld().
|
pure virtual |
Ensure that this solver is initialized.
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
Referenced by btSoftMultiBodyDynamicsWorld::internalSingleStepSimulation(), and btSoftRigidDynamicsWorld::internalSingleStepSimulation().
Copy necessary data back to the original soft body source objects.
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
|
inlinevirtual |
Get the number of velocity constraint solver iterations this solver uses.
Definition at line 96 of file btSoftBodySolvers.h.
References m_numberOfPositionIterations.
|
inlinevirtual |
Get the number of velocity constraint solver iterations this solver uses.
Definition at line 108 of file btSoftBodySolvers.h.
References m_numberOfVelocityIterations.
|
pure virtual |
Return the type of the solver.
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
|
inline |
Return the timescale that the simulation is using
Definition at line 114 of file btSoftBodySolvers.h.
References m_timeScale.
Referenced by btSoftMultiBodyDynamicsWorld::solveSoftBodiesConstraints(), and btSoftRigidDynamicsWorld::solveSoftBodiesConstraints().
|
pure virtual |
Optimize soft bodies in this solver.
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
Referenced by btSoftMultiBodyDynamicsWorld::internalSingleStepSimulation(), and btSoftRigidDynamicsWorld::internalSingleStepSimulation().
Predict motion of soft bodies into next timestep
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
Referenced by btSoftMultiBodyDynamicsWorld::predictUnconstraintMotion(), and btSoftRigidDynamicsWorld::predictUnconstraintMotion().
|
pure virtual |
Process a collision between two soft bodies
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
|
pure virtual |
Process a collision between one of the world's soft bodies and another collision object
Referenced by btSoftRigidCollisionAlgorithm::processCollision(), and btSoftSoftCollisionAlgorithm::processCollision().
|
inlinevirtual |
Set the number of velocity constraint solver iterations this solver uses.
Definition at line 90 of file btSoftBodySolvers.h.
References m_numberOfPositionIterations.
|
inlinevirtual |
Set the number of velocity constraint solver iterations this solver uses.
Definition at line 102 of file btSoftBodySolvers.h.
References m_numberOfVelocityIterations.
Solve constraints for a set of soft bodies
Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.
Referenced by btSoftMultiBodyDynamicsWorld::solveSoftBodiesConstraints(), and btSoftRigidDynamicsWorld::solveSoftBodiesConstraints().
|
pure virtual |
Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes
Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.
Referenced by btSoftMultiBodyDynamicsWorld::internalSingleStepSimulation(), and btSoftRigidDynamicsWorld::internalSingleStepSimulation().
|
protected |
Definition at line 43 of file btSoftBodySolvers.h.
Referenced by btSoftBodySolver(), getNumberOfPositionIterations(), and setNumberOfPositionIterations().
|
protected |
Definition at line 44 of file btSoftBodySolvers.h.
Referenced by btSoftBodySolver(), getNumberOfVelocityIterations(), and setNumberOfVelocityIterations().
|
protected |
Definition at line 46 of file btSoftBodySolvers.h.
Referenced by getTimeScale().