Blender V2.61 - r43446
Classes | Defines | 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>

Go to the source code of this file.

Classes

struct  btDbvtAabbMm
struct  btDbvtNode
struct  btDbvt
struct  btDbvt::sStkNN
struct  btDbvt::sStkNP
struct  btDbvt::sStkNPS
struct  btDbvt::sStkCLN
struct  btDbvt::ICollide
struct  btDbvt::IWriter
struct  btDbvt::IClone

Defines

#define DBVT_IMPL_GENERIC   0
 btDbvt implementation by Nathanael Presson
#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

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)

Define Documentation

#define DBVT_CHECKTYPE
#define DBVT_ENABLE_BENCHMARK   0

Definition at line 52 of file btDbvt.h.

#define DBVT_IMPL_GENERIC   0

btDbvt implementation by Nathanael Presson

Definition at line 31 of file btDbvt.h.

#define DBVT_IMPL_SSE   1

Definition at line 32 of file btDbvt.h.

#define DBVT_INLINE   SIMD_FORCE_INLINE

Definition at line 55 of file btDbvt.h.

#define DBVT_INT0_IMPL   DBVT_IMPL_GENERIC

Definition at line 67 of file btDbvt.h.

#define DBVT_IPOLICY   ICollide& policy

Definition at line 90 of file btDbvt.h.

#define DBVT_MERGE_IMPL   DBVT_IMPL_GENERIC

Definition at line 66 of file btDbvt.h.

#define DBVT_PREFIX

Definition at line 89 of file btDbvt.h.

Referenced by btDbvt::collideOCL().

#define DBVT_SELECT_IMPL   DBVT_IMPL_GENERIC

Definition at line 65 of file btDbvt.h.

#define DBVT_USE_INTRINSIC_SSE   1

Definition at line 46 of file btDbvt.h.

#define DBVT_USE_MEMMOVE   1

Definition at line 49 of file btDbvt.h.

#define DBVT_USE_TEMPLATE   0

Definition at line 42 of file btDbvt.h.

#define DBVT_VIRTUAL   virtual

Definition at line 88 of file btDbvt.h.

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

Definition at line 87 of file btDbvt.h.


Typedef Documentation

Definition at line 170 of file btDbvt.h.


Function Documentation

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

Definition at line 536 of file btDbvt.h.

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

Definition at line 639 of file btDbvt.h.

References i.

Referenced by bounds(), createnode(), btDbvtBroadphase::getBroadphaseAabb(), insertleaf(), merge(), and removeleaf().

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

Definition at line 662 of file btDbvt.h.

Referenced by removeleaf(), and btDbvtBroadphase::setAabb().

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

Definition at line 555 of file btDbvt.h.

References btFabs().

Referenced by Select().

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

Definition at line 565 of file btDbvt.h.

References addps(), ATTRIBUTE_ALIGNED16, and Proximity().

Referenced by insertleaf().