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 void split (const tNodeArray &leaves, tNodeArray &left, tNodeArray &right, const btVector3 &org, const btVector3 &axis)
 
static btDbvtVolume bounds (const tNodeArray &leaves)
 
static void bottomup (btDbvt *pdbvt, tNodeArray &leaves)
 
static btDbvtNodetopdown (btDbvt *pdbvt, tNodeArray &leaves, 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,
tNodeArray leaves 
)
static

Definition at line 266 of file btDbvt.cpp.

static btDbvtVolume bounds ( const tNodeArray leaves)
static

Definition at line 249 of file btDbvt.cpp.

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

Definition at line 90 of file btDbvt.cpp.

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

Definition at line 106 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 117 of file btDbvt.cpp.

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

Definition at line 69 of file btDbvt.cpp.

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

Definition at line 213 of file btDbvt.cpp.

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

Definition at line 59 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 129 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 77 of file btDbvt.cpp.

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

Definition at line 173 of file btDbvt.cpp.

static DBVT_INLINE btScalar size ( const btDbvtVolume a)
static

Definition at line 51 of file btDbvt.cpp.

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

Definition at line 369 of file btDbvt.cpp.

static void split ( const tNodeArray leaves,
tNodeArray left,
tNodeArray right,
const btVector3 org,
const btVector3 axis 
)
static

Definition at line 231 of file btDbvt.cpp.

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

Definition at line 299 of file btDbvt.cpp.