com.bulletphysics.collision.broadphase
Class AxisSweep3Internal
java.lang.Object
com.bulletphysics.collision.broadphase.AxisSweep3Internal
- All Implemented Interfaces:
- BroadphaseInterface
- Direct Known Subclasses:
- AxisSweep3, AxisSweep3_32
public abstract class AxisSweep3Internal
- extends java.lang.Object
- implements BroadphaseInterface
AxisSweep3Internal is an internal template class that implements sweep and prune.
Dont use this class directly, use AxisSweep3 or AxisSweep3_32 instead.
Method Summary |
int |
addHandle(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
java.lang.Object pOwner,
short collisionFilterGroup,
short collisionFilterMask,
Dispatcher dispatcher,
java.lang.Object multiSapProxy)
|
protected int |
allocHandle()
|
void |
calculateOverlappingPairs(Dispatcher dispatcher)
|
protected abstract AxisSweep3Internal.EdgeArray |
createEdgeArray(int size)
|
protected abstract AxisSweep3Internal.Handle |
createHandle()
|
BroadphaseProxy |
createProxy(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
BroadphaseNativeType shapeType,
java.lang.Object userPtr,
short collisionFilterGroup,
short collisionFilterMask,
Dispatcher dispatcher,
java.lang.Object multiSapProxy)
|
void |
destroyProxy(BroadphaseProxy proxy,
Dispatcher dispatcher)
|
protected void |
freeHandle(int handle)
|
void |
getBroadphaseAabb(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax)
|
AxisSweep3Internal.Handle |
getHandle(int index)
|
protected abstract int |
getMask()
|
int |
getNumHandles()
|
OverlappingPairCache |
getOverlappingPairCache()
|
OverlappingPairCallback |
getOverlappingPairUserCallback()
|
void |
printStats()
|
protected void |
quantize(int[] out,
javax.vecmath.Vector3f point,
int isMax)
|
void |
removeHandle(int handle,
Dispatcher dispatcher)
|
void |
setAabb(BroadphaseProxy proxy,
javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
Dispatcher dispatcher)
|
void |
setOverlappingPairUserCallback(OverlappingPairCallback pairCallback)
|
protected void |
sortMaxDown(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
|
protected void |
sortMaxUp(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
|
protected void |
sortMinDown(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
|
protected void |
sortMinUp(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
|
boolean |
testAabbOverlap(BroadphaseProxy proxy0,
BroadphaseProxy proxy1)
|
protected boolean |
testOverlap(int ignoreAxis,
AxisSweep3Internal.Handle pHandleA,
AxisSweep3Internal.Handle pHandleB)
|
void |
updateHandle(int handle,
javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
Dispatcher dispatcher)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
bpHandleMask
protected int bpHandleMask
handleSentinel
protected int handleSentinel
worldAabbMin
protected final javax.vecmath.Vector3f worldAabbMin
worldAabbMax
protected final javax.vecmath.Vector3f worldAabbMax
quantize
protected final javax.vecmath.Vector3f quantize
numHandles
protected int numHandles
maxHandles
protected int maxHandles
pHandles
protected AxisSweep3Internal.Handle[] pHandles
firstFreeHandle
protected int firstFreeHandle
pEdges
protected AxisSweep3Internal.EdgeArray[] pEdges
pairCache
protected OverlappingPairCache pairCache
userPairCallback
protected OverlappingPairCallback userPairCallback
ownsPairCache
protected boolean ownsPairCache
invalidPair
protected int invalidPair
mask
protected int mask
allocHandle
protected int allocHandle()
freeHandle
protected void freeHandle(int handle)
testOverlap
protected boolean testOverlap(int ignoreAxis,
AxisSweep3Internal.Handle pHandleA,
AxisSweep3Internal.Handle pHandleB)
quantize
protected void quantize(int[] out,
javax.vecmath.Vector3f point,
int isMax)
sortMinDown
protected void sortMinDown(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
sortMinUp
protected void sortMinUp(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
sortMaxDown
protected void sortMaxDown(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
sortMaxUp
protected void sortMaxUp(int axis,
int edge,
Dispatcher dispatcher,
boolean updateOverlaps)
getNumHandles
public int getNumHandles()
calculateOverlappingPairs
public void calculateOverlappingPairs(Dispatcher dispatcher)
- Specified by:
calculateOverlappingPairs
in interface BroadphaseInterface
addHandle
public int addHandle(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
java.lang.Object pOwner,
short collisionFilterGroup,
short collisionFilterMask,
Dispatcher dispatcher,
java.lang.Object multiSapProxy)
removeHandle
public void removeHandle(int handle,
Dispatcher dispatcher)
updateHandle
public void updateHandle(int handle,
javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
Dispatcher dispatcher)
getHandle
public AxisSweep3Internal.Handle getHandle(int index)
createProxy
public BroadphaseProxy createProxy(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
BroadphaseNativeType shapeType,
java.lang.Object userPtr,
short collisionFilterGroup,
short collisionFilterMask,
Dispatcher dispatcher,
java.lang.Object multiSapProxy)
- Specified by:
createProxy
in interface BroadphaseInterface
destroyProxy
public void destroyProxy(BroadphaseProxy proxy,
Dispatcher dispatcher)
- Specified by:
destroyProxy
in interface BroadphaseInterface
setAabb
public void setAabb(BroadphaseProxy proxy,
javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax,
Dispatcher dispatcher)
- Specified by:
setAabb
in interface BroadphaseInterface
testAabbOverlap
public boolean testAabbOverlap(BroadphaseProxy proxy0,
BroadphaseProxy proxy1)
getOverlappingPairCache
public OverlappingPairCache getOverlappingPairCache()
- Specified by:
getOverlappingPairCache
in interface BroadphaseInterface
setOverlappingPairUserCallback
public void setOverlappingPairUserCallback(OverlappingPairCallback pairCallback)
getOverlappingPairUserCallback
public OverlappingPairCallback getOverlappingPairUserCallback()
getBroadphaseAabb
public void getBroadphaseAabb(javax.vecmath.Vector3f aabbMin,
javax.vecmath.Vector3f aabbMax)
- Specified by:
getBroadphaseAabb
in interface BroadphaseInterface
printStats
public void printStats()
- Specified by:
printStats
in interface BroadphaseInterface
createEdgeArray
protected abstract AxisSweep3Internal.EdgeArray createEdgeArray(int size)
createHandle
protected abstract AxisSweep3Internal.Handle createHandle()
getMask
protected abstract int getMask()