com.bulletphysics.collision.broadphase
Class Dbvt

java.lang.Object
  extended by com.bulletphysics.collision.broadphase.Dbvt

public class Dbvt
extends Object


Nested Class Summary
static class Dbvt.IClone
           
static class Dbvt.ICollide
           
static class Dbvt.IWriter
           
static class Dbvt.Node
           
static class Dbvt.sStkCLN
           
static class Dbvt.sStkNN
          Stack element
static class Dbvt.sStkNP
           
static class Dbvt.sStkNPS
           
 
Field Summary
static int DOUBLE_STACKSIZE
           
 Dbvt.Node free
           
 int leaves
           
 int lkhd
           
 int opath
           
 Dbvt.Node root
           
static int SIMPLE_STACKSIZE
           
 
Constructor Summary
Dbvt()
           
 
Method Summary
static int allocate(IntArrayList ifree, ObjectArrayList<Dbvt.sStkNPS> stock, Dbvt.sStkNPS value)
           
 void clear()
           
 void clone(Dbvt dest)
           
 void clone(Dbvt dest, Dbvt.IClone iclone)
           
static void collideKDOP(Dbvt.Node root, Vector3f[] normals, float[] offsets, int count, Dbvt.ICollide policy)
           
static void collideOCL(Dbvt.Node root, Vector3f[] normals, float[] offsets, Vector3f sortaxis, int count, Dbvt.ICollide policy)
           
static void collideOCL(Dbvt.Node root, Vector3f[] normals, float[] offsets, Vector3f sortaxis, int count, Dbvt.ICollide policy, boolean fullsort)
           
static void collideRAY(Dbvt.Node root, Vector3f origin, Vector3f direction, Dbvt.ICollide policy)
           
static void collideTT(Dbvt.Node root0, Dbvt.Node root1, Dbvt.ICollide policy)
           
static void collideTT(Dbvt.Node root0, Dbvt.Node root1, Transform xform, Dbvt.ICollide policy)
           
static void collideTT(Dbvt.Node root0, Transform xform0, Dbvt.Node root1, Transform xform1, Dbvt.ICollide policy)
           
static void collideTU(Dbvt.Node root, Dbvt.ICollide policy)
           
static void collideTV(Dbvt.Node root, DbvtAabbMm volume, Dbvt.ICollide policy)
           
static int countLeaves(Dbvt.Node node)
           
 boolean empty()
           
static void enumLeaves(Dbvt.Node root, Dbvt.ICollide policy)
           
static void enumNodes(Dbvt.Node root, Dbvt.ICollide policy)
           
static void extractLeaves(Dbvt.Node node, ObjectArrayList<Dbvt.Node> leaves)
           
 Dbvt.Node insert(DbvtAabbMm box, Object data)
           
static int nearest(IntArrayList i, ObjectArrayList<Dbvt.sStkNPS> a, float v, int l, int h)
           
 void optimizeBottomUp()
           
 void optimizeIncremental(int passes)
           
 void optimizeTopDown()
           
 void optimizeTopDown(int bu_treshold)
           
 void remove(Dbvt.Node leaf)
           
 void update(Dbvt.Node leaf)
           
 void update(Dbvt.Node leaf, DbvtAabbMm volume)
           
 boolean update(Dbvt.Node leaf, DbvtAabbMm volume, float margin)
           
 boolean update(Dbvt.Node leaf, DbvtAabbMm volume, Vector3f velocity)
           
 boolean update(Dbvt.Node leaf, DbvtAabbMm volume, Vector3f velocity, float margin)
           
 void update(Dbvt.Node leaf, int lookahead)
           
 void write(Dbvt.IWriter iwriter)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIMPLE_STACKSIZE

public static final int SIMPLE_STACKSIZE
See Also:
Constant Field Values

DOUBLE_STACKSIZE

public static final int DOUBLE_STACKSIZE
See Also:
Constant Field Values

root

public Dbvt.Node root

free

public Dbvt.Node free

lkhd

public int lkhd

leaves

public int leaves

opath

public int opath
Constructor Detail

Dbvt

public Dbvt()
Method Detail

clear

public void clear()

empty

public boolean empty()

optimizeBottomUp

public void optimizeBottomUp()

optimizeTopDown

public void optimizeTopDown()

optimizeTopDown

public void optimizeTopDown(int bu_treshold)

optimizeIncremental

public void optimizeIncremental(int passes)

insert

public Dbvt.Node insert(DbvtAabbMm box,
                        Object data)

update

public void update(Dbvt.Node leaf)

update

public void update(Dbvt.Node leaf,
                   int lookahead)

update

public void update(Dbvt.Node leaf,
                   DbvtAabbMm volume)

update

public boolean update(Dbvt.Node leaf,
                      DbvtAabbMm volume,
                      Vector3f velocity,
                      float margin)

update

public boolean update(Dbvt.Node leaf,
                      DbvtAabbMm volume,
                      Vector3f velocity)

update

public boolean update(Dbvt.Node leaf,
                      DbvtAabbMm volume,
                      float margin)

remove

public void remove(Dbvt.Node leaf)

write

public void write(Dbvt.IWriter iwriter)

clone

public void clone(Dbvt dest)

clone

public void clone(Dbvt dest,
                  Dbvt.IClone iclone)

countLeaves

public static int countLeaves(Dbvt.Node node)

extractLeaves

public static void extractLeaves(Dbvt.Node node,
                                 ObjectArrayList<Dbvt.Node> leaves)

enumNodes

public static void enumNodes(Dbvt.Node root,
                             Dbvt.ICollide policy)

enumLeaves

public static void enumLeaves(Dbvt.Node root,
                              Dbvt.ICollide policy)

collideTT

public static void collideTT(Dbvt.Node root0,
                             Dbvt.Node root1,
                             Dbvt.ICollide policy)

collideTT

public static void collideTT(Dbvt.Node root0,
                             Dbvt.Node root1,
                             Transform xform,
                             Dbvt.ICollide policy)

collideTT

public static void collideTT(Dbvt.Node root0,
                             Transform xform0,
                             Dbvt.Node root1,
                             Transform xform1,
                             Dbvt.ICollide policy)

collideTV

public static void collideTV(Dbvt.Node root,
                             DbvtAabbMm volume,
                             Dbvt.ICollide policy)

collideRAY

public static void collideRAY(Dbvt.Node root,
                              Vector3f origin,
                              Vector3f direction,
                              Dbvt.ICollide policy)

collideKDOP

public static void collideKDOP(Dbvt.Node root,
                               Vector3f[] normals,
                               float[] offsets,
                               int count,
                               Dbvt.ICollide policy)

collideOCL

public static void collideOCL(Dbvt.Node root,
                              Vector3f[] normals,
                              float[] offsets,
                              Vector3f sortaxis,
                              int count,
                              Dbvt.ICollide policy)

collideOCL

public static void collideOCL(Dbvt.Node root,
                              Vector3f[] normals,
                              float[] offsets,
                              Vector3f sortaxis,
                              int count,
                              Dbvt.ICollide policy,
                              boolean fullsort)

collideTU

public static void collideTU(Dbvt.Node root,
                             Dbvt.ICollide policy)

nearest

public static int nearest(IntArrayList i,
                          ObjectArrayList<Dbvt.sStkNPS> a,
                          float v,
                          int l,
                          int h)

allocate

public static int allocate(IntArrayList ifree,
                           ObjectArrayList<Dbvt.sStkNPS> stock,
                           Dbvt.sStkNPS value)