Blender V2.61 - r43446
|
#include <btDefaultSoftBodySolver.h>
Public Member Functions | |
btDefaultSoftBodySolver () | |
virtual | ~btDefaultSoftBodySolver () |
virtual SolverTypes | getSolverType () const |
virtual bool | checkInitialized () |
virtual void | updateSoftBodies () |
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false) |
virtual void | copyBackToSoftBodies () |
virtual void | solveConstraints (float solverdt) |
virtual void | predictMotion (float solverdt) |
virtual void | copySoftBodyToVertexBuffer (const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer) |
virtual void | processCollision (btSoftBody *, btCollisionObject *) |
virtual void | processCollision (btSoftBody *, btSoftBody *) |
Protected Attributes | |
bool | m_updateSolverConstants |
btAlignedObjectArray < btSoftBody * > | m_softBodySet |
Definition at line 24 of file btDefaultSoftBodySolver.h.
btDefaultSoftBodySolver::btDefaultSoftBodySolver | ( | ) |
Definition at line 25 of file btDefaultSoftBodySolver.cpp.
References m_updateSolverConstants.
btDefaultSoftBodySolver::~btDefaultSoftBodySolver | ( | ) | [virtual] |
Definition at line 33 of file btDefaultSoftBodySolver.cpp.
bool btDefaultSoftBodySolver::checkInitialized | ( | ) | [virtual] |
Ensure that this solver is initialized.
Implements btSoftBodySolver.
Definition at line 60 of file btDefaultSoftBodySolver.cpp.
void btDefaultSoftBodySolver::copyBackToSoftBodies | ( | ) | [virtual] |
Copy necessary data back to the original soft body source objects.
Implements btSoftBodySolver.
Definition at line 38 of file btDefaultSoftBodySolver.cpp.
void btDefaultSoftBodySolver::copySoftBodyToVertexBuffer | ( | const btSoftBody *const | softBody, |
btVertexBufferDescriptor * | vertexBuffer | ||
) | [virtual] |
Definition at line 79 of file btDefaultSoftBodySolver.cpp.
References btVertexBufferDescriptor::CPU_BUFFER, btCPUVertexBufferDescriptor::getBasePointer(), btVertexBufferDescriptor::getBufferType(), btVertexBufferDescriptor::getNormalOffset(), btVertexBufferDescriptor::getNormalStride(), btVertexBufferDescriptor::getVertexOffset(), btVertexBufferDescriptor::getVertexStride(), btVertexBufferDescriptor::hasNormals(), btVertexBufferDescriptor::hasVertexPositions(), btSoftBody::m_nodes, and btAlignedObjectArray< T >::size().
virtual SolverTypes btDefaultSoftBodySolver::getSolverType | ( | ) | const [inline, virtual] |
Return the type of the solver.
Implements btSoftBodySolver.
Definition at line 38 of file btDefaultSoftBodySolver.h.
References btSoftBodySolver::DEFAULT_SOLVER.
void btDefaultSoftBodySolver::optimize | ( | btAlignedObjectArray< btSoftBody * > & | softBodies, |
bool | forceUpdate = false |
||
) | [virtual] |
Optimize soft bodies in this solver.
Implements btSoftBodySolver.
Definition at line 43 of file btDefaultSoftBodySolver.cpp.
References btAlignedObjectArray< T >::copyFromArray(), and m_softBodySet.
void btDefaultSoftBodySolver::predictMotion | ( | float | solverdt | ) | [virtual] |
Predict motion of soft bodies into next timestep
Implements btSoftBodySolver.
Definition at line 139 of file btDefaultSoftBodySolver.cpp.
References i, m_softBodySet, btSoftBody::predictMotion(), and btAlignedObjectArray< T >::size().
void btDefaultSoftBodySolver::processCollision | ( | btSoftBody * | , |
btCollisionObject * | |||
) | [virtual] |
Process a collision between one of the world's soft bodies and another collision object
Implements btSoftBodySolver.
Definition at line 133 of file btDefaultSoftBodySolver.cpp.
References btSoftBody::defaultCollisionHandler().
void btDefaultSoftBodySolver::processCollision | ( | btSoftBody * | , |
btSoftBody * | |||
) | [virtual] |
Process a collision between two soft bodies
Implements btSoftBodySolver.
Definition at line 127 of file btDefaultSoftBodySolver.cpp.
References btSoftBody::defaultCollisionHandler().
void btDefaultSoftBodySolver::solveConstraints | ( | float | solverdt | ) | [virtual] |
Solve constraints for a set of soft bodies
Implements btSoftBodySolver.
Definition at line 65 of file btDefaultSoftBodySolver.cpp.
References i, m_softBodySet, btAlignedObjectArray< T >::size(), and btSoftBody::solveConstraints().
void btDefaultSoftBodySolver::updateSoftBodies | ( | ) | [virtual] |
Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes
Implements btSoftBodySolver.
Definition at line 48 of file btDefaultSoftBodySolver.cpp.
References i, btSoftBody::integrateMotion(), m_softBodySet, and btAlignedObjectArray< T >::size().
btAlignedObjectArray< btSoftBody * > btDefaultSoftBodySolver::m_softBodySet [protected] |
Definition at line 30 of file btDefaultSoftBodySolver.h.
Referenced by optimize(), predictMotion(), solveConstraints(), and updateSoftBodies().
bool btDefaultSoftBodySolver::m_updateSolverConstants [protected] |
Variable to define whether we need to update solver constants on the next iteration
Definition at line 28 of file btDefaultSoftBodySolver.h.
Referenced by btDefaultSoftBodySolver().