Bullet Collision Detection & Physics Library
Classes | Typedefs | Functions
btDbvt.cpp File Reference
#include "btDbvt.h"
Include dependency graph for btDbvt.cpp:

Go to the source code of this file.

Classes

struct  btDbvtNodeEnumerator
 

Typedefs

typedef btAlignedObjectArray< btDbvtNode * > tNodeArray
 btDbvt implementation by Nathanael Presson More...
 
typedef btAlignedObjectArray< const btDbvtNode * > tConstNodeArray
 

Functions

static DBVT_INLINE int indexof (const btDbvtNode *node)
 
static DBVT_INLINE btDbvtVolume merge (const btDbvtVolume &a, const btDbvtVolume &b)
 
static DBVT_INLINE btScalar size (const btDbvtVolume &a)
 
static void getmaxdepth (const btDbvtNode *node, int depth, int &maxdepth)
 
static DBVT_INLINE void deletenode (btDbvt *pdbvt, btDbvtNode *node)
 
static void recursedeletenode (btDbvt *pdbvt, btDbvtNode *node)
 
static DBVT_INLINE btDbvtNodecreatenode (btDbvt *pdbvt, btDbvtNode *parent, void *data)
 
static DBVT_INLINE btDbvtNodecreatenode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume, void *data)
 
static DBVT_INLINE btDbvtNodecreatenode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume0, const btDbvtVolume &volume1, void *data)
 
static void insertleaf (btDbvt *pdbvt, btDbvtNode *root, btDbvtNode *leaf)
 
static btDbvtNoderemoveleaf (btDbvt *pdbvt, btDbvtNode *leaf)
 
static void fetchleaves (btDbvt *pdbvt, btDbvtNode *root, tNodeArray &leaves, int depth=-1)
 
static bool leftOfAxis (const btDbvtNode *node, const btVector3 &org, const btVector3 &axis)
 
static int split (btDbvtNode **leaves, int count, const btVector3 &org, const btVector3 &axis)
 
static btDbvtVolume bounds (btDbvtNode **leaves, int count)
 
static void bottomup (btDbvt *pdbvt, btDbvtNode **leaves, int count)
 
static btDbvtNodetopdown (btDbvt *pdbvt, btDbvtNode **leaves, int count, int bu_treshold)
 
static DBVT_INLINE btDbvtNodesort (btDbvtNode *n, btDbvtNode *&r)
 

Typedef Documentation

Definition at line 21 of file btDbvt.cpp.

btDbvt implementation by Nathanael Presson

Definition at line 20 of file btDbvt.cpp.

Function Documentation

static void bottomup ( btDbvt pdbvt,
btDbvtNode **  leaves,
int  count 
)
static

Definition at line 303 of file btDbvt.cpp.

static btDbvtVolume bounds ( btDbvtNode **  leaves,
int  count 
)
static

Definition at line 284 of file btDbvt.cpp.

static DBVT_INLINE btDbvtNode* createnode ( btDbvt pdbvt,
btDbvtNode parent,
void *  data 
)
static

Definition at line 91 of file btDbvt.cpp.

static DBVT_INLINE btDbvtNode* createnode ( btDbvt pdbvt,
btDbvtNode parent,
const btDbvtVolume volume,
void *  data 
)
static

Definition at line 107 of file btDbvt.cpp.

static DBVT_INLINE btDbvtNode* createnode ( btDbvt pdbvt,
btDbvtNode parent,
const btDbvtVolume volume0,
const btDbvtVolume volume1,
void *  data 
)
static

Definition at line 118 of file btDbvt.cpp.

static DBVT_INLINE void deletenode ( btDbvt pdbvt,
btDbvtNode node 
)
static

Definition at line 70 of file btDbvt.cpp.

static void fetchleaves ( btDbvt pdbvt,
btDbvtNode root,
tNodeArray leaves,
int  depth = -1 
)
static

Definition at line 214 of file btDbvt.cpp.

static void getmaxdepth ( const btDbvtNode node,
int  depth,
int &  maxdepth 
)
static

Definition at line 60 of file btDbvt.cpp.

static DBVT_INLINE int indexof ( const btDbvtNode node)
static

Definition at line 31 of file btDbvt.cpp.

static void insertleaf ( btDbvt pdbvt,
btDbvtNode root,
btDbvtNode leaf 
)
static

Definition at line 130 of file btDbvt.cpp.

static bool leftOfAxis ( const btDbvtNode node,
const btVector3 org,
const btVector3 axis 
)
static

Definition at line 232 of file btDbvt.cpp.

static DBVT_INLINE btDbvtVolume merge ( const btDbvtVolume a,
const btDbvtVolume b 
)
static

Definition at line 37 of file btDbvt.cpp.

static void recursedeletenode ( btDbvt pdbvt,
btDbvtNode node 
)
static

Definition at line 78 of file btDbvt.cpp.

static btDbvtNode* removeleaf ( btDbvt pdbvt,
btDbvtNode leaf 
)
static

Definition at line 174 of file btDbvt.cpp.

static DBVT_INLINE btScalar size ( const btDbvtVolume a)
static

Definition at line 52 of file btDbvt.cpp.

static DBVT_INLINE btDbvtNode* sort ( btDbvtNode n,
btDbvtNode *&  r 
)
static

Definition at line 403 of file btDbvt.cpp.

static int split ( btDbvtNode **  leaves,
int  count,
const btVector3 org,
const btVector3 axis 
)
static

Definition at line 243 of file btDbvt.cpp.

static btDbvtNode* topdown ( btDbvt pdbvt,
btDbvtNode **  leaves,
int  count,
int  bu_treshold 
)
static

Definition at line 337 of file btDbvt.cpp.