espresso3d.engine.collision
Class E3DCollisionHandler
java.lang.Object
espresso3d.engine.base.E3DEngineItem
espresso3d.engine.collision.E3DCollisionHandler
- public class E3DCollisionHandler
- extends E3DEngineItem
- Author:
- espresso3d
This contains collision detection helpers and the main collision detection routine for checking collisions
in the world.
|
Method Summary |
E3DCollision |
checkCollision(int collisionTypeSource,
int collisionTypeDest,
boolean notifyAllObjectsCollided,
E3DCollisionDetectableObject sourceObject,
E3DVector3F sourceStartPos,
E3DVector3F sourceEndPos)
|
E3DSector |
checkForPortalCollisionsAndGetSectorChange(E3DVector3F startPos,
E3DVector3F endPos,
E3DSector sector)
This method is used mainly by the engine to see when it translates objects, if they collide with a portal. |
static E3DCollision |
getClosestCollisionToPoint(E3DVector3F point,
java.util.ArrayList collisions)
Takes a list of E3DCollision object's and returns which collision was closest to the point |
static E3DCollision |
getFurthestCollisionFromPoint(E3DVector3F point,
java.util.ArrayList collisions)
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COLLISIONTYPE_SOURCE_SEGMENT
public static final int COLLISIONTYPE_SOURCE_SEGMENT
- See Also:
- Constant Field Values
COLLISIONTYPE_SOURCE_TRIANGLE
public static final int COLLISIONTYPE_SOURCE_TRIANGLE
- See Also:
- Constant Field Values
COLLISIONTYPE_SOURCE_BOUNDINGOBJECT
public static final int COLLISIONTYPE_SOURCE_BOUNDINGOBJECT
- See Also:
- Constant Field Values
COLLISIONTYPE_COLLIDEE_TRIANGLE
public static final int COLLISIONTYPE_COLLIDEE_TRIANGLE
- See Also:
- Constant Field Values
COLLISIONTYPE_COLLIDEE_BOUNDINGOBJECT_IFAVAIL
public static final int COLLISIONTYPE_COLLIDEE_BOUNDINGOBJECT_IFAVAIL
- See Also:
- Constant Field Values
E3DCollisionHandler
public E3DCollisionHandler(E3DEngine engine)
checkCollision
public E3DCollision checkCollision(int collisionTypeSource,
int collisionTypeDest,
boolean notifyAllObjectsCollided,
E3DCollisionDetectableObject sourceObject,
E3DVector3F sourceStartPos,
E3DVector3F sourceEndPos)
checkForPortalCollisionsAndGetSectorChange
public E3DSector checkForPortalCollisionsAndGetSectorChange(E3DVector3F startPos,
E3DVector3F endPos,
E3DSector sector)
- This method is used mainly by the engine to see when it translates objects, if they collide with a portal. This
is necessary for the engine to keep track of the sector objects are in.
This always uses a line segment (vs triangle) collision detector.
- Parameters:
startPos - The starting position of the object we are checking against portalsendPos - The ending position of the object we are checking against portalssector - The sector the object is currently in
- Returns:
- Returns the sector the object should be placed in or null if there is
no portal collision
getClosestCollisionToPoint
public static E3DCollision getClosestCollisionToPoint(E3DVector3F point,
java.util.ArrayList collisions)
- Takes a list of E3DCollision object's and returns which collision was closest to the point
getFurthestCollisionFromPoint
public static E3DCollision getFurthestCollisionFromPoint(E3DVector3F point,
java.util.ArrayList collisions)