Classes | Defines | 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...

Defines

#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 ()

Define 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  )  [inline, static]

Definition at line 144 of file btParallelConstraintSolver.h.

static vmQuat btReadQuat ( const float *  p  )  [inline, static]

Definition at line 170 of file btParallelConstraintSolver.h.

static vmVector3 btReadVector3 ( const double *  p  )  [inline, static]

Definition at line 136 of file btParallelConstraintSolver.h.

static vmVector3 btReadVector3 ( const float *  p  )  [inline, static]

Definition at line 163 of file btParallelConstraintSolver.h.

static void btStoreVector3 ( const vmVector3 src,
double *  p 
) [inline, static]

Definition at line 152 of file btParallelConstraintSolver.h.

static void btStoreVector3 ( const vmVector3 src,
float *  p 
) [inline, static]

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.