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

Bullet Collision Detection & Physics Library

Classes | Macros | Typedefs | Functions
btDbvt.h File Reference
`#include "LinearMath/btAlignedObjectArray.h"`
`#include "LinearMath/btVector3.h"`
`#include "LinearMath/btTransform.h"`
`#include "LinearMath/btAabbUtil2.h"`
`#include <memory.h>`
`#include <string.h>`
Include dependency graph for btDbvt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | btDbvtAabbMm
struct | btDbvtNode
struct | btDbvt
| The btDbvt class implements a fast dynamic bounding volume tree based on axis aligned bounding boxes (aabb tree). More...
struct | btDbvt::sStkNN
struct | btDbvt::sStkNP
struct | btDbvt::sStkNPS
struct | btDbvt::sStkCLN
struct | btDbvt::ICollide
struct | btDbvt::IWriter
struct | btDbvt::IClone

## Macros
#define | DBVT_IMPL_GENERIC 0
| btDbvt implementation by Nathanael Presson More...
#define | DBVT_IMPL_SSE 1
#define | DBVT_USE_TEMPLATE 0
#define | DBVT_USE_INTRINSIC_SSE 1
#define | DBVT_USE_MEMMOVE 1
#define | DBVT_ENABLE_BENCHMARK 0
#define | DBVT_INLINE SIMD_FORCE_INLINE
#define | DBVT_SELECT_IMPL DBVT_IMPL_GENERIC
#define | DBVT_MERGE_IMPL DBVT_IMPL_GENERIC
#define | DBVT_INT0_IMPL DBVT_IMPL_GENERIC
#define | DBVT_VIRTUAL_DTOR(a) virtual ~a() {}
#define | DBVT_VIRTUAL virtual
#define | DBVT_PREFIX
#define | DBVT_IPOLICY ICollide& policy
#define | DBVT_CHECKTYPE

## Typedefs
typedef btDbvtAabbMm | btDbvtVolume
typedef btAlignedObjectArray< const btDbvtNode * > | btNodeStack

## Functions
DBVT_INLINE bool | Intersect (const btDbvtAabbMm &a, const btDbvtAabbMm &b)
DBVT_INLINE bool | Intersect (const btDbvtAabbMm &a, const btVector3 &b)
DBVT_INLINE btScalar | Proximity (const btDbvtAabbMm &a, const btDbvtAabbMm &b)
DBVT_INLINE int | Select (const btDbvtAabbMm &o, const btDbvtAabbMm &a, const btDbvtAabbMm &b)
DBVT_INLINE void | Merge (const btDbvtAabbMm &a, const btDbvtAabbMm &b, btDbvtAabbMm &r)
DBVT_INLINE bool | NotEqual (const btDbvtAabbMm &a, const btDbvtAabbMm &b)

## Macro Definition Documentation

## ◆ DBVT_CHECKTYPE

#define DBVT_CHECKTYPE

Definition at line 93 of file btDbvt.h.

## ◆ DBVT_ENABLE_BENCHMARK

#define DBVT_ENABLE_BENCHMARK 0

Definition at line 51 of file btDbvt.h.

## ◆ DBVT_IMPL_GENERIC

#define DBVT_IMPL_GENERIC 0

btDbvt implementation by Nathanael Presson

Definition at line 30 of file btDbvt.h.

## ◆ DBVT_IMPL_SSE

#define DBVT_IMPL_SSE 1

Definition at line 31 of file btDbvt.h.

## ◆ DBVT_INLINE

#define DBVT_INLINE SIMD_FORCE_INLINE

Definition at line 54 of file btDbvt.h.

## ◆ DBVT_INT0_IMPL

#define DBVT_INT0_IMPL DBVT_IMPL_GENERIC

Definition at line 66 of file btDbvt.h.

## ◆ DBVT_IPOLICY

#define DBVT_IPOLICY ICollide& policy

Definition at line 92 of file btDbvt.h.

## ◆ DBVT_MERGE_IMPL

#define DBVT_MERGE_IMPL DBVT_IMPL_GENERIC

Definition at line 65 of file btDbvt.h.

## ◆ DBVT_PREFIX

#define DBVT_PREFIX

Definition at line 91 of file btDbvt.h.

## ◆ DBVT_SELECT_IMPL

#define DBVT_SELECT_IMPL DBVT_IMPL_GENERIC

Definition at line 64 of file btDbvt.h.

## ◆ DBVT_USE_INTRINSIC_SSE

#define DBVT_USE_INTRINSIC_SSE 1

Definition at line 45 of file btDbvt.h.

## ◆ DBVT_USE_MEMMOVE

#define DBVT_USE_MEMMOVE 1

Definition at line 48 of file btDbvt.h.

## ◆ DBVT_USE_TEMPLATE

#define DBVT_USE_TEMPLATE 0

Definition at line 38 of file btDbvt.h.

## ◆ DBVT_VIRTUAL

#define DBVT_VIRTUAL virtual

Definition at line 90 of file btDbvt.h.

## ◆ DBVT_VIRTUAL_DTOR

#define DBVT_VIRTUAL_DTOR | ( |  | a | ) | virtual ~a() {}

Definition at line 88 of file btDbvt.h.

## Typedef Documentation

## ◆ btDbvtVolume

typedef btDbvtAabbMm btDbvtVolume

Definition at line 177 of file btDbvt.h.

## ◆ btNodeStack

typedef btAlignedObjectArray<const btDbvtNode*> btNodeStack

Definition at line 193 of file btDbvt.h.

## Function Documentation

## ◆ Intersect() [1/2]

DBVT_INLINE bool Intersect | ( | const btDbvtAabbMm & | a,
|  | const btDbvtAabbMm & | b
| ) |  |

Definition at line 576 of file btDbvt.h.

## ◆ Intersect() [2/2]

DBVT_INLINE bool Intersect | ( | const btDbvtAabbMm & | a,
|  | const btVector3 & | b
| ) |  |

Definition at line 599 of file btDbvt.h.

## ◆ Merge()

DBVT_INLINE void Merge | ( | const btDbvtAabbMm & | a,
|  | const btDbvtAabbMm & | b,
|  | btDbvtAabbMm & | r
| ) |  |

Definition at line 700 of file btDbvt.h.

## ◆ NotEqual()

DBVT_INLINE bool NotEqual | ( | const btDbvtAabbMm & | a,
|  | const btDbvtAabbMm & | b
| ) |  |

Definition at line 729 of file btDbvt.h.

## ◆ Proximity()

DBVT_INLINE btScalar Proximity | ( | const btDbvtAabbMm & | a,
|  | const btDbvtAabbMm & | b
| ) |  |

Definition at line 613 of file btDbvt.h.

## ◆ Select()

DBVT_INLINE int Select | ( | const btDbvtAabbMm & | o,
|  | const btDbvtAabbMm & | a,
|  | const btDbvtAabbMm & | b
| ) |  |

Definition at line 621 of file btDbvt.h.