16#ifndef BT_SEQUENTIAL_IMPULSE_CONSTRAINT_SOLVER_MT_H
17#define BT_SEQUENTIAL_IMPULSE_CONSTRAINT_SOLVER_MT_H
68 static const int MAX_NUM_CONTACT_POINTS = 4;
74 bool contactHasRollingFriction[MAX_NUM_CONTACT_POINTS];
84 void internalInitMultipleJoints(
btTypedConstraint * *constraints,
int iBegin,
int iEnd);
96 static const int CACHE_LINE_SIZE = 64;
106 char m_antiFalseSharingPadding[CACHE_LINE_SIZE];
110 virtual void randomizeConstraintOrdering(
int iteration,
int numIterations);
111 virtual btScalar resolveAllJointConstraints(
int iteration);
112 virtual btScalar resolveAllContactConstraints();
113 virtual btScalar resolveAllContactFrictionConstraints();
114 virtual btScalar resolveAllContactConstraintsInterleaved();
115 virtual btScalar resolveAllRollingFrictionConstraints();
117 virtual void setupBatchedContactConstraints();
118 virtual void setupBatchedJointConstraints();
143 void internalSetupContactConstraints(
int iContactConstraint,
const btContactSolverInfo& infoGlobal);
145 void internalWriteBackContacts(
int iBegin,
int iEnd,
const btContactSolverInfo& infoGlobal);
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
btCollisionObject can be used to manage collision detection objects.
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
ManifoldContactPoint collects and maintains persistent contactpoints.
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
btSequentialImpulseConstraintSolverMt
btBatchedConstraints m_batchedJointConstraints
btSpinMutex m_kinematicBodyUniqueIdToSolverBodyTableMutex
BT_DECLARE_ALIGNED_ALLOCATOR()
btAlignedObjectArray< int > m_rollingFrictionIndexTable
static btBatchedConstraints::BatchingMethod s_contactBatchingMethod
int m_numFrictionDirections
btBatchedConstraints m_batchedContactConstraints
btAlignedObjectArray< char > m_scratchMemory
static bool s_allowNestedParallelForLoops
static int s_minBatchSize
btSpinMutex m_bodySolverArrayMutex
static int s_maxBatchSize
bool m_useObsoleteJointConstraints
static int s_minimumContactManifoldsForBatching
btAlignedObjectArray< btContactManifoldCachedInfo > m_manifoldCachedInfoArray
static btBatchedConstraints::BatchingMethod s_jointBatchingMethod
The btSequentialImpulseConstraintSolver is a fast SIMD implementation of the Projected Gauss Seidel (...
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becaus...
TypedConstraint is the baseclass for Bullet constraints and vehicles.