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
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)
btConjugateResidual< btDeformableBackwardEulerObjective > m_cr
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)
void setConstraints(const btContactSolverInfo &infoGlobal)
btScalar m_newtonTolerance
void computeStep(TVStack &ddv, const TVStack &residual)
btConjugateGradient< btDeformableBackwardEulerObjective > m_cg
int m_maxNewtonIterations
virtual btScalar solveContactConstraints(btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal)
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.
btAlignedObjectArray< btSoftBody * > m_softBodies
void predictDeformableMotion(btSoftBody *psb, btScalar dt)
btDeformableBackwardEulerObjective * m_objective
virtual void solveDeformableConstraints(btScalar solverdt)
void setImplicit(bool implicit)
virtual ~btDeformableBodySolver()
virtual SolverTypes getSolverType() const
Return the type of the solver.
virtual void processCollision(btSoftBody *softBody, const btCollisionObjectWrapper *collisionObjectWrap)