com.bulletphysics.collision.broadphase
Class AxisSweep3

java.lang.Object
  extended by com.bulletphysics.collision.broadphase.AxisSweep3Internal
      extended by com.bulletphysics.collision.broadphase.AxisSweep3
All Implemented Interfaces:
BroadphaseInterface

public class AxisSweep3
extends AxisSweep3Internal

AxisSweep3 is an efficient implementation of the 3d axis sweep and prune broadphase. It uses arrays rather then lists for storage of the 3 axis. Also it operates using 16 bit integer coordinates instead of floats. For large worlds and many objects, use AxisSweep3_32 instead. AxisSweep3_32 has higher precision and allows more then 16384 objects at the cost of more memory and bit of performance.


Nested Class Summary
protected static class AxisSweep3.EdgeArrayImpl
           
protected static class AxisSweep3.HandleImpl
           
 
Nested classes/interfaces inherited from class com.bulletphysics.collision.broadphase.AxisSweep3Internal
AxisSweep3Internal.EdgeArray, AxisSweep3Internal.Handle
 
Field Summary
 
Fields inherited from class com.bulletphysics.collision.broadphase.AxisSweep3Internal
bpHandleMask, firstFreeHandle, handleSentinel, invalidPair, mask, maxHandles, numHandles, ownsPairCache, pairCache, pEdges, pHandles, quantize, userPairCallback, worldAabbMax, worldAabbMin
 
Constructor Summary
AxisSweep3(javax.vecmath.Vector3f worldAabbMin, javax.vecmath.Vector3f worldAabbMax)
           
AxisSweep3(javax.vecmath.Vector3f worldAabbMin, javax.vecmath.Vector3f worldAabbMax, int maxHandles)
           
AxisSweep3(javax.vecmath.Vector3f worldAabbMin, javax.vecmath.Vector3f worldAabbMax, int maxHandles, OverlappingPairCache pairCache)
           
 
Method Summary
protected  AxisSweep3Internal.EdgeArray createEdgeArray(int size)
           
protected  AxisSweep3Internal.Handle createHandle()
           
protected  int getMask()
           
 
Methods inherited from class com.bulletphysics.collision.broadphase.AxisSweep3Internal
addHandle, allocHandle, calculateOverlappingPairs, createProxy, destroyProxy, freeHandle, getBroadphaseAabb, getHandle, getNumHandles, getOverlappingPairCache, getOverlappingPairUserCallback, printStats, quantize, removeHandle, setAabb, setOverlappingPairUserCallback, sortMaxDown, sortMaxUp, sortMinDown, sortMinUp, testAabbOverlap, testOverlap, updateHandle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AxisSweep3

public AxisSweep3(javax.vecmath.Vector3f worldAabbMin,
                  javax.vecmath.Vector3f worldAabbMax)

AxisSweep3

public AxisSweep3(javax.vecmath.Vector3f worldAabbMin,
                  javax.vecmath.Vector3f worldAabbMax,
                  int maxHandles)

AxisSweep3

public AxisSweep3(javax.vecmath.Vector3f worldAabbMin,
                  javax.vecmath.Vector3f worldAabbMax,
                  int maxHandles,
                  OverlappingPairCache pairCache)
Method Detail

createEdgeArray

protected AxisSweep3Internal.EdgeArray createEdgeArray(int size)
Specified by:
createEdgeArray in class AxisSweep3Internal

createHandle

protected AxisSweep3Internal.Handle createHandle()
Specified by:
createHandle in class AxisSweep3Internal

getMask

protected int getMask()
Specified by:
getMask in class AxisSweep3Internal