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

◆ tConstNodeArray

Definition at line 21 of file btDbvt.cpp.

◆ tNodeArray

btDbvt implementation by Nathanael Presson

Definition at line 20 of file btDbvt.cpp.

Function Documentation

◆ bottomup()

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

Definition at line 318 of file btDbvt.cpp.

◆ bounds()

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

Definition at line 299 of file btDbvt.cpp.

◆ createnode() [1/3]

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

Definition at line 115 of file btDbvt.cpp.

◆ createnode() [2/3]

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

Definition at line 126 of file btDbvt.cpp.

◆ createnode() [3/3]

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

Definition at line 94 of file btDbvt.cpp.

◆ deletenode()

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

Definition at line 72 of file btDbvt.cpp.

◆ fetchleaves()

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

Definition at line 230 of file btDbvt.cpp.

◆ getmaxdepth()

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

Definition at line 60 of file btDbvt.cpp.

◆ indexof()

static DBVT_INLINE int indexof ( const btDbvtNode node)
static

Definition at line 31 of file btDbvt.cpp.

◆ insertleaf()

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

Definition at line 138 of file btDbvt.cpp.

◆ leftOfAxis()

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

Definition at line 248 of file btDbvt.cpp.

◆ merge()

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

Definition at line 37 of file btDbvt.cpp.

◆ recursedeletenode()

static void recursedeletenode ( btDbvt pdbvt,
btDbvtNode node 
)
static

Definition at line 80 of file btDbvt.cpp.

◆ removeleaf()

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

Definition at line 188 of file btDbvt.cpp.

◆ size()

static DBVT_INLINE btScalar size ( const btDbvtVolume a)
static

Definition at line 52 of file btDbvt.cpp.

◆ sort()

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

Definition at line 418 of file btDbvt.cpp.

◆ split()

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

Definition at line 258 of file btDbvt.cpp.

◆ topdown()

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

Definition at line 352 of file btDbvt.cpp.