Bullet Collision Detection & Physics Library
Classes | Macros | Functions
SpuCollisionShapes.h File Reference
#include "../SpuDoubleBuffer.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
#include "BulletCollision/CollisionShapes/btCylinderShape.h"
#include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"
#include "BulletCollision/CollisionShapes/btOptimizedBvh.h"
#include "BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h"
#include "BulletCollision/CollisionShapes/btSphereShape.h"
#include "BulletCollision/CollisionShapes/btCapsuleShape.h"
#include "BulletCollision/CollisionShapes/btConvexShape.h"
#include "BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h"
#include "BulletCollision/CollisionShapes/btConvexHullShape.h"
#include "BulletCollision/CollisionShapes/btCompoundShape.h"
Include dependency graph for SpuCollisionShapes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SpuConvexPolyhedronVertexData
 
struct  CollisionShape_LocalStoreMemory
 
struct  CompoundShape_LocalStoreMemory
 
struct  bvhMeshShape_LocalStoreMemory
 

Macros

#define MAX_NUM_SPU_CONVEX_POINTS   128
 
#define MAX_SPU_COMPOUND_SUBSHAPES   16
 
#define MAX_SHAPE_SIZE   256
 
#define MAX_SPU_SUBTREE_HEADERS   32
 
#define USE_BRANCHFREE_TEST   1
 

Functions

void computeAabb (btVector3 &aabbMin, btVector3 &aabbMax, btConvexInternalShape *convexShape, ppu_address_t convexShapePtr, int shapeType, const btTransform &xform)
 not supported on IBM SDK, until we fix the alignment of btVector3 More...
 
void dmaBvhShapeData (bvhMeshShape_LocalStoreMemory *bvhMeshShape, btBvhTriangleMeshShape *triMeshShape)
 
void dmaBvhIndexedMesh (btIndexedMesh *IndexMesh, IndexedMeshArray &indexArray, int index, uint32_t dmaTag)
 
void dmaBvhSubTreeHeaders (btBvhSubtreeInfo *subTreeHeaders, ppu_address_t subTreePtr, int batchSize, uint32_t dmaTag)
 
void dmaBvhSubTreeNodes (btQuantizedBvhNode *nodes, const btBvhSubtreeInfo &subtree, QuantizedNodeArray &nodeArray, int dmaTag)
 
int getShapeTypeSize (int shapeType)
 getShapeTypeSize could easily be optimized, but it is not likely a bottleneck More...
 
void dmaConvexVertexData (SpuConvexPolyhedronVertexData *convexVertexData, btConvexHullShape *convexShapeSPU)
 
void dmaCollisionShape (void *collisionShapeLocation, ppu_address_t collisionShapePtr, uint32_t dmaTag, int shapeType)
 
void dmaCompoundShapeInfo (CompoundShape_LocalStoreMemory *compoundShapeLocation, btCompoundShape *spuCompoundShape, uint32_t dmaTag)
 
void dmaCompoundSubShapes (CompoundShape_LocalStoreMemory *compoundShapeLocation, btCompoundShape *spuCompoundShape, uint32_t dmaTag)
 
unsigned int spuTestQuantizedAabbAgainstQuantizedAabb (unsigned short int *aabbMin1, unsigned short int *aabbMax1, const unsigned short int *aabbMin2, const unsigned short int *aabbMax2)
 
void spuWalkStacklessQuantizedTree (btNodeOverlapCallback *nodeCallback, unsigned short int *quantizedQueryAabbMin, unsigned short int *quantizedQueryAabbMax, const btQuantizedBvhNode *rootNode, int startNodeIndex, int endNodeIndex)
 

Macro Definition Documentation

#define MAX_NUM_SPU_CONVEX_POINTS   128

Definition at line 36 of file SpuCollisionShapes.h.

#define MAX_SHAPE_SIZE   256

Definition at line 38 of file SpuCollisionShapes.h.

#define MAX_SPU_COMPOUND_SUBSHAPES   16

Definition at line 37 of file SpuCollisionShapes.h.

#define MAX_SPU_SUBTREE_HEADERS   32

Definition at line 77 of file SpuCollisionShapes.h.

#define USE_BRANCHFREE_TEST   1

Definition at line 97 of file SpuCollisionShapes.h.

Function Documentation

void computeAabb ( btVector3 aabbMin,
btVector3 aabbMax,
btConvexInternalShape convexShape,
ppu_address_t  convexShapePtr,
int  shapeType,
const btTransform xform 
)

not supported on IBM SDK, until we fix the alignment of btVector3

Definition at line 32 of file SpuCollisionShapes.cpp.

void dmaBvhIndexedMesh ( btIndexedMesh IndexMesh,
IndexedMeshArray indexArray,
int  index,
uint32_t  dmaTag 
)

Definition at line 134 of file SpuCollisionShapes.cpp.

void dmaBvhShapeData ( bvhMeshShape_LocalStoreMemory bvhMeshShape,
btBvhTriangleMeshShape triMeshShape 
)

now DMA over the BVH

Definition at line 107 of file SpuCollisionShapes.cpp.

void dmaBvhSubTreeHeaders ( btBvhSubtreeInfo subTreeHeaders,
ppu_address_t  subTreePtr,
int  batchSize,
uint32_t  dmaTag 
)

Definition at line 140 of file SpuCollisionShapes.cpp.

void dmaBvhSubTreeNodes ( btQuantizedBvhNode nodes,
const btBvhSubtreeInfo subtree,
QuantizedNodeArray nodeArray,
int  dmaTag 
)

Definition at line 145 of file SpuCollisionShapes.cpp.

void dmaCollisionShape ( void *  collisionShapeLocation,
ppu_address_t  collisionShapePtr,
uint32_t  dmaTag,
int  shapeType 
)

Definition at line 230 of file SpuCollisionShapes.cpp.

void dmaCompoundShapeInfo ( CompoundShape_LocalStoreMemory compoundShapeLocation,
btCompoundShape spuCompoundShape,
uint32_t  dmaTag 
)

Definition at line 238 of file SpuCollisionShapes.cpp.

void dmaCompoundSubShapes ( CompoundShape_LocalStoreMemory compoundShapeLocation,
btCompoundShape spuCompoundShape,
uint32_t  dmaTag 
)

Definition at line 248 of file SpuCollisionShapes.cpp.

void dmaConvexVertexData ( SpuConvexPolyhedronVertexData convexVertexData,
btConvexHullShape convexShapeSPU 
)

Definition at line 215 of file SpuCollisionShapes.cpp.

int getShapeTypeSize ( int  shapeType)

getShapeTypeSize could easily be optimized, but it is not likely a bottleneck

Definition at line 151 of file SpuCollisionShapes.cpp.

unsigned int spuTestQuantizedAabbAgainstQuantizedAabb ( unsigned short int *  aabbMin1,
unsigned short int *  aabbMax1,
const unsigned short int *  aabbMin2,
const unsigned short int *  aabbMax2 
)
inline

Definition at line 99 of file SpuCollisionShapes.h.

void spuWalkStacklessQuantizedTree ( btNodeOverlapCallback nodeCallback,
unsigned short int *  quantizedQueryAabbMin,
unsigned short int *  quantizedQueryAabbMax,
const btQuantizedBvhNode rootNode,
int  startNodeIndex,
int  endNodeIndex 
)

Definition at line 261 of file SpuCollisionShapes.cpp.