Bullet Collision Detection & Physics Library
Classes | Functions | Variables
btBatchedConstraints.cpp File Reference
#include "btBatchedConstraints.h"
#include "LinearMath/btIDebugDraw.h"
#include "LinearMath/btMinMax.h"
#include "LinearMath/btStackAlloc.h"
#include "LinearMath/btQuickprof.h"
#include <string.h>
Include dependency graph for btBatchedConstraints.cpp:

Go to the source code of this file.

Classes

struct  btBatchedConstraintInfo
 
struct  btBatchInfo
 
struct  ReadSolverConstraintsLoop
 
struct  ExpandConstraintRowsLoop
 
struct  UpdateConstraintBatchIdsForMergesLoop
 
struct  WriteOutConstraintIndicesLoop
 
class  PreallocatedMemoryHelper< N >
 
struct  PreallocatedMemoryHelper< N >::Chunk
 
struct  btIntVec3
 
struct  AssignConstraintsToGridBatchesParams
 
struct  AssignConstraintsToGridBatchesLoop
 

Functions

static void debugDrawSingleBatch (const btBatchedConstraints *bc, btConstraintArray *constraints, const btAlignedObjectArray< btSolverBody > &bodies, int iBatch, const btVector3 &color, const btVector3 &offset)
 
static void debugDrawPhase (const btBatchedConstraints *bc, btConstraintArray *constraints, const btAlignedObjectArray< btSolverBody > &bodies, int iPhase, const btVector3 &color0, const btVector3 &color1, const btVector3 &offset)
 
static void debugDrawAllBatches (const btBatchedConstraints *bc, btConstraintArray *constraints, const btAlignedObjectArray< btSolverBody > &bodies)
 
static void initBatchedBodyDynamicFlags (btAlignedObjectArray< bool > *outBodyDynamicFlags, const btAlignedObjectArray< btSolverBody > &bodies)
 
static int runLengthEncodeConstraintInfo (btBatchedConstraintInfo *outConInfos, int numConstraints)
 
static int initBatchedConstraintInfo (btBatchedConstraintInfo *outConInfos, btConstraintArray *constraints)
 
static void expandConstraintRowsInPlace (int *constraintBatchIds, const btBatchedConstraintInfo *conInfos, int numConstraints, int numConstraintRows)
 
static void expandConstraintRows (int *destConstraintBatchIds, const int *srcConstraintBatchIds, const btBatchedConstraintInfo *conInfos, int numConstraints, int numConstraintRows)
 
static void expandConstraintRowsMt (int *destConstraintBatchIds, const int *srcConstraintBatchIds, const btBatchedConstraintInfo *conInfos, int numConstraints, int numConstraintRows)
 
static void initBatchedConstraintInfoArray (btAlignedObjectArray< btBatchedConstraintInfo > *outConInfos, btConstraintArray *constraints)
 
static void mergeSmallBatches (btBatchInfo *batches, int iBeginBatch, int iEndBatch, int minBatchSize, int maxBatchSize)
 
static void updateConstraintBatchIdsForMerges (int *constraintBatchIds, int numConstraints, const btBatchInfo *batches, int numBatches)
 
static void updateConstraintBatchIdsForMergesMt (int *constraintBatchIds, int numConstraints, const btBatchInfo *batches, int numBatches)
 
bool BatchCompare (const btBatchedConstraints::Range &a, const btBatchedConstraints::Range &b)
 
static void writeOutConstraintIndicesForRangeOfBatches (btBatchedConstraints *bc, const int *constraintBatchIds, int numConstraints, int *constraintIdPerBatch, int batchBegin, int batchEnd)
 
static void writeOutConstraintIndicesMt (btBatchedConstraints *bc, const int *constraintBatchIds, int numConstraints, int *constraintIdPerBatch, int maxNumBatchesPerPhase, int numPhases)
 
static void writeGrainSizes (btBatchedConstraints *bc)
 
static void writeOutBatches (btBatchedConstraints *bc, const int *constraintBatchIds, int numConstraints, const btBatchInfo *batches, int *batchWork, int maxNumBatchesPerPhase, int numPhases)
 
static btVector3 findMaxDynamicConstraintExtent (btVector3 *bodyPositions, bool *bodyDynamicFlags, btBatchedConstraintInfo *conInfos, int numConstraints, int numBodies)
 
static void assignConstraintsToGridBatches (const AssignConstraintsToGridBatchesParams &params, int iConBegin, int iConEnd)
 
static void setupSpatialGridBatchesMt (btBatchedConstraints *batchedConstraints, btAlignedObjectArray< char > *scratchMemory, btConstraintArray *constraints, const btAlignedObjectArray< btSolverBody > &bodies, int minBatchSize, int maxBatchSize, bool use2DGrid)
 
static void setupSingleBatch (btBatchedConstraints *bc, int numConstraints)
 

Variables

const int kNoMerge = -1
 

Function Documentation

static void assignConstraintsToGridBatches ( const AssignConstraintsToGridBatchesParams params,
int  iConBegin,
int  iConEnd 
)
static

Definition at line 742 of file btBatchedConstraints.cpp.

bool BatchCompare ( const btBatchedConstraints::Range a,
const btBatchedConstraints::Range b 
)
inline

Definition at line 454 of file btBatchedConstraints.cpp.

static void debugDrawAllBatches ( const btBatchedConstraints bc,
btConstraintArray constraints,
const btAlignedObjectArray< btSolverBody > &  bodies 
)
static

Definition at line 152 of file btBatchedConstraints.cpp.

static void debugDrawPhase ( const btBatchedConstraints bc,
btConstraintArray constraints,
const btAlignedObjectArray< btSolverBody > &  bodies,
int  iPhase,
const btVector3 color0,
const btVector3 color1,
const btVector3 offset 
)
static

Definition at line 129 of file btBatchedConstraints.cpp.

static void debugDrawSingleBatch ( const btBatchedConstraints bc,
btConstraintArray constraints,
const btAlignedObjectArray< btSolverBody > &  bodies,
int  iBatch,
const btVector3 color,
const btVector3 offset 
)
static

Definition at line 104 of file btBatchedConstraints.cpp.

static void expandConstraintRows ( int *  destConstraintBatchIds,
const int *  srcConstraintBatchIds,
const btBatchedConstraintInfo conInfos,
int  numConstraints,
int  numConstraintRows 
)
static

Definition at line 300 of file btBatchedConstraints.cpp.

static void expandConstraintRowsInPlace ( int *  constraintBatchIds,
const btBatchedConstraintInfo conInfos,
int  numConstraints,
int  numConstraintRows 
)
static

Definition at line 278 of file btBatchedConstraints.cpp.

static void expandConstraintRowsMt ( int *  destConstraintBatchIds,
const int *  srcConstraintBatchIds,
const btBatchedConstraintInfo conInfos,
int  numConstraints,
int  numConstraintRows 
)
static

Definition at line 339 of file btBatchedConstraints.cpp.

static btVector3 findMaxDynamicConstraintExtent ( btVector3 bodyPositions,
bool *  bodyDynamicFlags,
btBatchedConstraintInfo conInfos,
int  numConstraints,
int  numBodies 
)
static

Definition at line 686 of file btBatchedConstraints.cpp.

static void initBatchedBodyDynamicFlags ( btAlignedObjectArray< bool > *  outBodyDynamicFlags,
const btAlignedObjectArray< btSolverBody > &  bodies 
)
static

Definition at line 184 of file btBatchedConstraints.cpp.

static int initBatchedConstraintInfo ( btBatchedConstraintInfo outConInfos,
btConstraintArray constraints 
)
static

Definition at line 246 of file btBatchedConstraints.cpp.

static void initBatchedConstraintInfoArray ( btAlignedObjectArray< btBatchedConstraintInfo > *  outConInfos,
btConstraintArray constraints 
)
static

Definition at line 348 of file btBatchedConstraints.cpp.

static void mergeSmallBatches ( btBatchInfo batches,
int  iBeginBatch,
int  iEndBatch,
int  minBatchSize,
int  maxBatchSize 
)
static

Definition at line 360 of file btBatchedConstraints.cpp.

static int runLengthEncodeConstraintInfo ( btBatchedConstraintInfo outConInfos,
int  numConstraints 
)
static

Definition at line 197 of file btBatchedConstraints.cpp.

static void setupSingleBatch ( btBatchedConstraints bc,
int  numConstraints 
)
static

Definition at line 1075 of file btBatchedConstraints.cpp.

static void setupSpatialGridBatchesMt ( btBatchedConstraints batchedConstraints,
btAlignedObjectArray< char > *  scratchMemory,
btConstraintArray constraints,
const btAlignedObjectArray< btSolverBody > &  bodies,
int  minBatchSize,
int  maxBatchSize,
bool  use2DGrid 
)
static

Definition at line 855 of file btBatchedConstraints.cpp.

static void updateConstraintBatchIdsForMerges ( int *  constraintBatchIds,
int  numConstraints,
const btBatchInfo batches,
int  numBatches 
)
static

Definition at line 407 of file btBatchedConstraints.cpp.

static void updateConstraintBatchIdsForMergesMt ( int *  constraintBatchIds,
int  numConstraints,
const btBatchInfo batches,
int  numBatches 
)
static

Definition at line 445 of file btBatchedConstraints.cpp.

static void writeGrainSizes ( btBatchedConstraints bc)
static

Definition at line 544 of file btBatchedConstraints.cpp.

static void writeOutBatches ( btBatchedConstraints bc,
const int *  constraintBatchIds,
int  numConstraints,
const btBatchInfo batches,
int *  batchWork,
int  maxNumBatchesPerPhase,
int  numPhases 
)
static

Definition at line 560 of file btBatchedConstraints.cpp.

static void writeOutConstraintIndicesForRangeOfBatches ( btBatchedConstraints bc,
const int *  constraintBatchIds,
int  numConstraints,
int *  constraintIdPerBatch,
int  batchBegin,
int  batchEnd 
)
static

Definition at line 462 of file btBatchedConstraints.cpp.

static void writeOutConstraintIndicesMt ( btBatchedConstraints bc,
const int *  constraintBatchIds,
int  numConstraints,
int *  constraintIdPerBatch,
int  maxNumBatchesPerPhase,
int  numPhases 
)
static

Definition at line 516 of file btBatchedConstraints.cpp.

Variable Documentation

const int kNoMerge = -1

Definition at line 26 of file btBatchedConstraints.cpp.