Bullet Collision Detection & Physics Library
Classes | Macros | Typedefs | Enumerations | Functions
btParallelConstraintSolver.h File Reference
#include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
#include "LinearMath/btScalar.h"
#include "PlatformDefinitions.h"
Include dependency graph for btParallelConstraintSolver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PfxParallelBatch
 
struct  PfxParallelGroup
 
struct  PfxSortData16
 
struct  PfxSolverBody
 
struct  PfxSetupContactConstraintsIO
 
struct  PfxSolveConstraintsIO
 
struct  PfxPostSolverIO
 
struct  btConstraintSolverIO
 
class  btParallelConstraintSolver
 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...
 

Macros

#define PFX_MAX_SOLVER_PHASES   64
 
#define PFX_MAX_SOLVER_BATCHES   16
 
#define PFX_MAX_SOLVER_PAIRS   128
 
#define PFX_MIN_SOLVER_PAIRS   16
 

Typedefs

typedef PfxSortData16 PfxConstraintPair
 
typedef PfxSortData16 PfxBroadphasePair
 

Enumerations

enum  {
  PFX_CONSTRAINT_SOLVER_CMD_SETUP_SOLVER_BODIES,
  PFX_CONSTRAINT_SOLVER_CMD_SETUP_CONTACT_CONSTRAINTS,
  PFX_CONSTRAINT_SOLVER_CMD_WRITEBACK_APPLIED_IMPULSES_CONTACT_CONSTRAINTS,
  PFX_CONSTRAINT_SOLVER_CMD_SETUP_JOINT_CONSTRAINTS,
  PFX_CONSTRAINT_SOLVER_CMD_SOLVE_CONSTRAINTS,
  PFX_CONSTRAINT_SOLVER_CMD_POST_SOLVER
}
 

Functions

void pfxSetConstraintId (PfxConstraintPair &pair, uint32_t i)
 
void pfxSetNumConstraints (PfxConstraintPair &pair, uint8_t n)
 
uint32_t pfxGetConstraintId1 (const PfxConstraintPair &pair)
 
uint8_t pfxGetNumConstraints (const PfxConstraintPair &pair)
 
void pfxSetRigidBodyIdA (PfxBroadphasePair &pair, uint16_t i)
 
void pfxSetRigidBodyIdB (PfxBroadphasePair &pair, uint16_t i)
 
void pfxSetMotionMaskA (PfxBroadphasePair &pair, uint8_t i)
 
void pfxSetMotionMaskB (PfxBroadphasePair &pair, uint8_t i)
 
void pfxSetBroadphaseFlag (PfxBroadphasePair &pair, uint8_t f)
 
void pfxSetActive (PfxBroadphasePair &pair, bool b)
 
void pfxSetContactId (PfxBroadphasePair &pair, uint32_t i)
 
uint16_t pfxGetRigidBodyIdA (const PfxBroadphasePair &pair)
 
uint16_t pfxGetRigidBodyIdB (const PfxBroadphasePair &pair)
 
uint8_t pfxGetMotionMaskA (const PfxBroadphasePair &pair)
 
uint8_t pfxGetMotionMaskB (const PfxBroadphasePair &pair)
 
uint8_t pfxGetBroadphaseFlag (const PfxBroadphasePair &pair)
 
bool pfxGetActive (const PfxBroadphasePair &pair)
 
uint32_t pfxGetContactId1 (const PfxBroadphasePair &pair)
 
static vmVector3 btReadVector3 (const double *p)
 
static vmQuat btReadQuat (const double *p)
 
static void btStoreVector3 (const vmVector3 &src, double *p)
 
static vmVector3 btReadVector3 (const float *p)
 
static vmQuat btReadQuat (const float *p)
 
static void btStoreVector3 (const vmVector3 &src, float *p)
 
void SolverThreadFunc (void *userPtr, void *lsMemory)
 
void * SolverlsMemoryFunc ()
 

Macro Definition Documentation

#define PFX_MAX_SOLVER_BATCHES   16

Definition at line 30 of file btParallelConstraintSolver.h.

#define PFX_MAX_SOLVER_PAIRS   128

Definition at line 31 of file btParallelConstraintSolver.h.

#define PFX_MAX_SOLVER_PHASES   64

Definition at line 29 of file btParallelConstraintSolver.h.

#define PFX_MIN_SOLVER_PAIRS   16

Definition at line 32 of file btParallelConstraintSolver.h.

Typedef Documentation

Definition at line 92 of file btParallelConstraintSolver.h.

Definition at line 81 of file btParallelConstraintSolver.h.

Enumeration Type Documentation

anonymous enum
Enumerator
PFX_CONSTRAINT_SOLVER_CMD_SETUP_SOLVER_BODIES 
PFX_CONSTRAINT_SOLVER_CMD_SETUP_CONTACT_CONSTRAINTS 
PFX_CONSTRAINT_SOLVER_CMD_WRITEBACK_APPLIED_IMPULSES_CONTACT_CONSTRAINTS 
PFX_CONSTRAINT_SOLVER_CMD_SETUP_JOINT_CONSTRAINTS 
PFX_CONSTRAINT_SOLVER_CMD_SOLVE_CONSTRAINTS 
PFX_CONSTRAINT_SOLVER_CMD_POST_SOLVER 

Definition at line 188 of file btParallelConstraintSolver.h.

Function Documentation

static vmQuat btReadQuat ( const double *  p)
inlinestatic

Definition at line 144 of file btParallelConstraintSolver.h.

static vmQuat btReadQuat ( const float *  p)
inlinestatic

Definition at line 170 of file btParallelConstraintSolver.h.

static vmVector3 btReadVector3 ( const double *  p)
inlinestatic

Definition at line 136 of file btParallelConstraintSolver.h.

static vmVector3 btReadVector3 ( const float *  p)
inlinestatic

Definition at line 163 of file btParallelConstraintSolver.h.

static void btStoreVector3 ( const vmVector3 src,
double *  p 
)
inlinestatic

Definition at line 152 of file btParallelConstraintSolver.h.

static void btStoreVector3 ( const vmVector3 src,
float *  p 
)
inlinestatic

Definition at line 177 of file btParallelConstraintSolver.h.

bool pfxGetActive ( const PfxBroadphasePair pair)
inline

Definition at line 107 of file btParallelConstraintSolver.h.

uint8_t pfxGetBroadphaseFlag ( const PfxBroadphasePair pair)
inline

Definition at line 106 of file btParallelConstraintSolver.h.

uint32_t pfxGetConstraintId1 ( const PfxConstraintPair pair)
inline

Definition at line 89 of file btParallelConstraintSolver.h.

uint32_t pfxGetContactId1 ( const PfxBroadphasePair pair)
inline

Definition at line 108 of file btParallelConstraintSolver.h.

uint8_t pfxGetMotionMaskA ( const PfxBroadphasePair pair)
inline

Definition at line 104 of file btParallelConstraintSolver.h.

uint8_t pfxGetMotionMaskB ( const PfxBroadphasePair pair)
inline

Definition at line 105 of file btParallelConstraintSolver.h.

uint8_t pfxGetNumConstraints ( const PfxConstraintPair pair)
inline

Definition at line 90 of file btParallelConstraintSolver.h.

uint16_t pfxGetRigidBodyIdA ( const PfxBroadphasePair pair)
inline

Definition at line 102 of file btParallelConstraintSolver.h.

uint16_t pfxGetRigidBodyIdB ( const PfxBroadphasePair pair)
inline

Definition at line 103 of file btParallelConstraintSolver.h.

void pfxSetActive ( PfxBroadphasePair pair,
bool  b 
)
inline

Definition at line 99 of file btParallelConstraintSolver.h.

void pfxSetBroadphaseFlag ( PfxBroadphasePair pair,
uint8_t  f 
)
inline

Definition at line 98 of file btParallelConstraintSolver.h.

void pfxSetConstraintId ( PfxConstraintPair pair,
uint32_t  i 
)
inline

Definition at line 86 of file btParallelConstraintSolver.h.

void pfxSetContactId ( PfxBroadphasePair pair,
uint32_t  i 
)
inline

Definition at line 100 of file btParallelConstraintSolver.h.

void pfxSetMotionMaskA ( PfxBroadphasePair pair,
uint8_t  i 
)
inline

Definition at line 96 of file btParallelConstraintSolver.h.

void pfxSetMotionMaskB ( PfxBroadphasePair pair,
uint8_t  i 
)
inline

Definition at line 97 of file btParallelConstraintSolver.h.

void pfxSetNumConstraints ( PfxConstraintPair pair,
uint8_t  n 
)
inline

Definition at line 87 of file btParallelConstraintSolver.h.

void pfxSetRigidBodyIdA ( PfxBroadphasePair pair,
uint16_t  i 
)
inline

Definition at line 94 of file btParallelConstraintSolver.h.

void pfxSetRigidBodyIdB ( PfxBroadphasePair pair,
uint16_t  i 
)
inline

Definition at line 95 of file btParallelConstraintSolver.h.

void* SolverlsMemoryFunc ( )

Definition at line 292 of file btParallelConstraintSolver.cpp.

void SolverThreadFunc ( void *  userPtr,
void *  lsMemory 
)

Definition at line 548 of file btParallelConstraintSolver.cpp.