|
Bullet Collision Detection & Physics Library
|
The btParallelConstraintSolver performs computations on constraint rows in parallel Using the cross-platform threading it supports Windows, Linux, Mac OSX and PlayStation 3 Cell SPUs. More...
#include <btParallelConstraintSolver.h>


Public Member Functions | |
| btParallelConstraintSolver (class btThreadSupportInterface *solverThreadSupport) | |
| virtual | ~btParallelConstraintSolver () |
| 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... | |
Public Member Functions inherited from btSequentialImpulseConstraintSolver | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| btSequentialImpulseConstraintSolver () | |
| virtual | ~btSequentialImpulseConstraintSolver () |
| 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 |
| virtual btConstraintSolverType | getSolverType () const |
Public Member Functions inherited from btConstraintSolver | |
| virtual | ~btConstraintSolver () |
| virtual void | prepareSolve (int, int) |
| virtual void | allSolved (const btContactSolverInfo &, class btIDebugDraw *) |
Additional Inherited Members | |
Protected Member Functions inherited from btSequentialImpulseConstraintSolver | |
| 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 | setupRollingFrictionConstraint (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.) |
| 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 & | addRollingFrictionConstraint (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.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) |
| void | resolveSingleConstraintRowGeneric (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| void | resolveSingleConstraintRowGenericSIMD (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| void | resolveSingleConstraintRowLowerLimit (btSolverBody &bodyA, btSolverBody &bodyB, const btSolverConstraint &contactConstraint) |
| void | 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) |
| 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) |
Static Protected Member Functions inherited from btSequentialImpulseConstraintSolver | |
| static void | applyAnisotropicFriction (btCollisionObject *colObj, btVector3 &frictionDirection, int frictionMode) |
The btParallelConstraintSolver performs computations on constraint rows in parallel Using the cross-platform threading it supports Windows, Linux, Mac OSX and PlayStation 3 Cell SPUs.
Definition at line 263 of file btParallelConstraintSolver.h.
| btParallelConstraintSolver::btParallelConstraintSolver | ( | class btThreadSupportInterface * | solverThreadSupport | ) |
Definition at line 1144 of file btParallelConstraintSolver.cpp.
|
virtual |
Definition at line 1156 of file btParallelConstraintSolver.cpp.
|
virtual |
btSequentialImpulseConstraintSolver Sequentially applies impulses
setup the btSolverConstraints
the size of btSolverConstraint needs be a multiple of btScalar
finalize the constraint setup
fix rhs todo: add force/torque accelerators
Reimplemented from btSequentialImpulseConstraintSolver.
Definition at line 1166 of file btParallelConstraintSolver.cpp.
|
protected |
Definition at line 272 of file btParallelConstraintSolver.h.
|
protected |
Definition at line 273 of file btParallelConstraintSolver.h.
|
protected |
Definition at line 267 of file btParallelConstraintSolver.h.
|
protected |
Definition at line 271 of file btParallelConstraintSolver.h.
|
protected |
Definition at line 269 of file btParallelConstraintSolver.h.
1.8.6