Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
16 #ifndef BT_DEFORMABLE_BODY_SOLVERS_H
17 #define BT_DEFORMABLE_BODY_SOLVERS_H
btScalar solveContactConstraints(btCollisionObject **deformableBodies, int numDeformableBodies)
btCollisionObject can be used to manage collision detection objects.
void setupDeformableSolve(bool implicit)
virtual void updateSoftBodies()
Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes.
btScalar computeDescentStep(TVStack &ddv, const TVStack &residual, bool verbose=false)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
void defaultCollisionHandler(const btCollisionObjectWrapper *pcoWrap)
virtual void processCollision(btSoftBody *softBody, btSoftBody *otherSoftBody)
Process a collision between two soft bodies.
void updateEnergy(btScalar scale)
void reinitialize(const btAlignedObjectArray< btSoftBody * > &softBodies, btScalar dt)
void updateDv(btScalar scale=1)
virtual void copyBackToSoftBodies(bool bMove=true)
Copy necessary data back to the original soft body source objects.
virtual void optimize(btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)
Optimize soft bodies in this solver.
void setLineSearch(bool lineSearch)
btAlignedObjectArray< btVector3 > TVStack
virtual void solveConstraints(btScalar dt)
Solve constraints for a set of soft bodies.
virtual void copySoftBodyToVertexBuffer(const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer)
btScalar m_newtonTolerance
void computeStep(TVStack &ddv, const TVStack &residual)
btConjugateGradient< btDeformableBackwardEulerObjective > m_cg
int m_maxNewtonIterations
virtual bool checkInitialized()
Ensure that this solver is initialized.
void updateTempPosition()
The btSoftBody is an class to simulate cloth and volumetric soft bodies.
virtual void predictMotion(btScalar solverdt)
Predict motion of soft bodies into next timestep.
btScalar solveSplitImpulse(const btContactSolverInfo &infoGlobal)
void predictDeformableMotion(btSoftBody *psb, btScalar dt)
btDeformableBackwardEulerObjective * m_objective
btAlignedObjectArray< btSoftBody * > m_softBodies
virtual void solveDeformableConstraints(btScalar solverdt)
void splitImpulseSetup(const btContactSolverInfo &infoGlobal)
void setImplicit(bool implicit)
virtual ~btDeformableBodySolver()
virtual SolverTypes getSolverType() const
Return the type of the solver.
virtual void processCollision(btSoftBody *softBody, const btCollisionObjectWrapper *collisionObjectWrap)