|
| | btMLCPSolver (btMLCPSolverInterface *solver) |
| | original version written by Erwin Coumans, October 2013 More...
|
| |
| virtual | ~btMLCPSolver () |
| |
| void | setMLCPSolver (btMLCPSolverInterface *solver) |
| |
| int | getNumFallbacks () const |
| |
| void | setNumFallbacks (int num) |
| |
| virtual btConstraintSolverType | getSolverType () const |
| |
| | BT_DECLARE_ALIGNED_ALLOCATOR () |
| |
| | btSequentialImpulseConstraintSolver () |
| |
| virtual | ~btSequentialImpulseConstraintSolver () |
| |
| virtual btScalar | solveGroup (btCollisionObject **bodies, int numBodies, btPersistentManifold **manifold, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &info, btIDebugDraw *debugDrawer, btDispatcher *dispatcher) |
| | btSequentialImpulseConstraintSolver Sequentially applies impulses More...
|
| |
| virtual void | reset () |
| | clear internal cached data and reset random seed More...
|
| |
| unsigned long | btRand2 () |
| |
| int | btRandInt2 (int n) |
| |
| void | setRandSeed (unsigned long seed) |
| |
| unsigned long | getRandSeed () const |
| |
| btSingleConstraintRowSolver | getActiveConstraintRowSolverGeneric () |
| |
| void | setConstraintRowSolverGeneric (btSingleConstraintRowSolver rowSolver) |
| |
| btSingleConstraintRowSolver | getActiveConstraintRowSolverLowerLimit () |
| |
| void | setConstraintRowSolverLowerLimit (btSingleConstraintRowSolver rowSolver) |
| |
| btSingleConstraintRowSolver | getScalarConstraintRowSolverGeneric () |
| | Various implementations of solving a single constraint row using a generic equality constraint, using scalar reference, SSE2 or SSE4. More...
|
| |
| btSingleConstraintRowSolver | getSSE2ConstraintRowSolverGeneric () |
| |
| btSingleConstraintRowSolver | getSSE4_1ConstraintRowSolverGeneric () |
| |
| btSingleConstraintRowSolver | getScalarConstraintRowSolverLowerLimit () |
| | Various implementations of solving a single constraint row using an inequality (lower limit) constraint, using scalar reference, SSE2 or SSE4. More...
|
| |
| btSingleConstraintRowSolver | getSSE2ConstraintRowSolverLowerLimit () |
| |
| btSingleConstraintRowSolver | getSSE4_1ConstraintRowSolverLowerLimit () |
| |
| virtual | ~btConstraintSolver () |
| |
| virtual void | prepareSolve (int, int) |
| |
| virtual void | allSolved (const btContactSolverInfo &, class btIDebugDraw *) |
| |
|
| virtual btScalar | solveGroupCacheFriendlySetup (btCollisionObject **bodies, int numBodies, btPersistentManifold **manifoldPtr, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &infoGlobal, btIDebugDraw *debugDrawer) |
| |
| virtual btScalar | solveGroupCacheFriendlyIterations (btCollisionObject **bodies, int numBodies, btPersistentManifold **manifoldPtr, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &infoGlobal, btIDebugDraw *debugDrawer) |
| |
| virtual void | createMLCP (const btContactSolverInfo &infoGlobal) |
| |
| virtual void | createMLCPFast (const btContactSolverInfo &infoGlobal) |
| |
| virtual bool | solveMLCP (const btContactSolverInfo &infoGlobal) |
| |
| void | setupFrictionConstraint (btSolverConstraint &solverConstraint, const btVector3 &normalAxis, int solverBodyIdA, int solverBodyIdB, btManifoldPoint &cp, const btVector3 &rel_pos1, const btVector3 &rel_pos2, btCollisionObject *colObj0, btCollisionObject *colObj1, btScalar relaxation, btScalar desiredVelocity=0., btScalar cfmSlip=0.) |
| |
| void | setupTorsionalFrictionConstraint (btSolverConstraint &solverConstraint, const btVector3 &normalAxis, int solverBodyIdA, int solverBodyIdB, btManifoldPoint &cp, btScalar combinedTorsionalFriction, const btVector3 &rel_pos1, const btVector3 &rel_pos2, btCollisionObject *colObj0, btCollisionObject *colObj1, btScalar relaxation, btScalar desiredVelocity=0., btScalar cfmSlip=0.) |
| |
| btSolverConstraint & | addFrictionConstraint (const btVector3 &normalAxis, int solverBodyIdA, int solverBodyIdB, int frictionIndex, btManifoldPoint &cp, const btVector3 &rel_pos1, const btVector3 &rel_pos2, btCollisionObject *colObj0, btCollisionObject *colObj1, btScalar relaxation, btScalar desiredVelocity=0., btScalar cfmSlip=0.) |
| |
| btSolverConstraint & | addTorsionalFrictionConstraint (const btVector3 &normalAxis, int solverBodyIdA, int solverBodyIdB, int frictionIndex, btManifoldPoint &cp, btScalar torsionalFriction, const btVector3 &rel_pos1, const btVector3 &rel_pos2, btCollisionObject *colObj0, btCollisionObject *colObj1, btScalar relaxation, btScalar desiredVelocity=0, btScalar cfmSlip=0.f) |
| |
| void | setupContactConstraint (btSolverConstraint &solverConstraint, int solverBodyIdA, int solverBodyIdB, btManifoldPoint &cp, const btContactSolverInfo &infoGlobal, btScalar &relaxation, const btVector3 &rel_pos1, const btVector3 &rel_pos2) |
| |
| void | setFrictionConstraintImpulse (btSolverConstraint &solverConstraint, int solverBodyIdA, int solverBodyIdB, btManifoldPoint &cp, const btContactSolverInfo &infoGlobal) |
| |
| btScalar | restitutionCurve (btScalar rel_vel, btScalar restitution) |
| |
| virtual void | convertContacts (btPersistentManifold **manifoldPtr, int numManifolds, const btContactSolverInfo &infoGlobal) |
| |
| void | convertContact (btPersistentManifold *manifold, const btContactSolverInfo &infoGlobal) |
| |
| void | resolveSplitPenetrationSIMD (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| void | resolveSplitPenetrationImpulseCacheFriendly (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| int | getOrInitSolverBody (btCollisionObject &body, btScalar timeStep) |
| |
| void | initSolverBody (btSolverBody *solverBody, btCollisionObject *collisionObject, btScalar timeStep) |
| |
| btSimdScalar | resolveSingleConstraintRowGeneric (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| btSimdScalar | resolveSingleConstraintRowGenericSIMD (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| btSimdScalar | resolveSingleConstraintRowLowerLimit (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| btSimdScalar | resolveSingleConstraintRowLowerLimitSIMD (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| |
| virtual void | solveGroupCacheFriendlySplitImpulseIterations (btCollisionObject **bodies, int numBodies, btPersistentManifold **manifoldPtr, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &infoGlobal, btIDebugDraw *debugDrawer) |
| |
| virtual btScalar | solveGroupCacheFriendlyFinish (btCollisionObject **bodies, int numBodies, const btContactSolverInfo &infoGlobal) |
| |
| virtual btScalar | solveSingleIteration (int iteration, btCollisionObject **bodies, int numBodies, btPersistentManifold **manifoldPtr, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &infoGlobal, btIDebugDraw *debugDrawer) |
| |
original version written by Erwin Coumans, October 2013
Definition at line 24 of file btMLCPSolver.h.