Bullet Collision Detection & Physics Library: btDbvt.cpp File Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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
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 btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, void *data)
static DBVT_INLINE btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume, void *data)
static DBVT_INLINE btDbvtNode * | createnode (btDbvt *pdbvt, btDbvtNode *parent, const btDbvtVolume &volume0, const btDbvtVolume &volume1, void *data)
static void | insertleaf (btDbvt *pdbvt, btDbvtNode *root, btDbvtNode *leaf)
static btDbvtNode * | removeleaf (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 btDbvtNode * | topdown (btDbvt *pdbvt, btDbvtNode **leaves, int count, int bu_treshold)
static DBVT_INLINE btDbvtNode * | sort (btDbvtNode *n, btDbvtNode *&r)

## Typedef Documentation

## ◆ tConstNodeArray

typedef btAlignedObjectArray<const btDbvtNode*> tConstNodeArray

Definition at line 21 of file btDbvt.cpp.

## ◆ tNodeArray

typedef btAlignedObjectArray<btDbvtNode*> 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.