espresso3d.engine.collision.detectors
Class E3DCollisionDetectorFastBoundingSphere

java.lang.Object
  extended byespresso3d.engine.collision.detectors.E3DCollisionDetectorSegment
      extended byespresso3d.engine.collision.detectors.E3DCollisionDetectorFastBoundingSphere
All Implemented Interfaces:
E3DCollisionDetector
Direct Known Subclasses:
E3DCollisionDetectorAccurateBoundingSphere

public class E3DCollisionDetectorFastBoundingSphere
extends E3DCollisionDetectorSegment
implements E3DCollisionDetector

Author:
Curt Fast bounding spheres take less calculation and will hit all cases except that when an object is sort of parallel to the direction the sphere is moving. IE: It works with head collisions that the direction vector goes straight into a triangle or boundingobject, but not if it runs alongside (but the boundingsphere still intersects to the left/right)

Constructor Summary
E3DCollisionDetectorFastBoundingSphere()
           
 
Method Summary
 E3DCollision checkActorBoundingObjectCollision(E3DActor sourceActor, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DBoundingObject boundingObject, E3DActor possibleCollisionActor)
          Interface to check the collision between sourceActor and a boundingObject
 E3DCollision checkActorTriangleCollision(E3DActor sourceActor, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DTriangle triangle, E3DActor possibleCollisionActor)
          Interface to check the collision between sourceActor and triangle.
 E3DCollision checkFastSphereVsTriangle(E3DActor sourceActor, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DTriangle triangle, E3DActor possibleCollisionActor)
           
 E3DCollision checkSphereSphereCollision(E3DActor sourceActor, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DBoundingSphere possibleCollisionBoundingSphere, E3DActor possibleCollisionActor)
           
 
Methods inherited from class espresso3d.engine.collision.detectors.E3DCollisionDetectorSegment
checkSegmentBoundingSphereCollision, checkSegmentTriangleCollision
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

E3DCollisionDetectorFastBoundingSphere

public E3DCollisionDetectorFastBoundingSphere()
Method Detail

checkActorTriangleCollision

public E3DCollision checkActorTriangleCollision(E3DActor sourceActor,
                                                E3DVector3F startPos,
                                                E3DVector3F endPos,
                                                E3DWorld world,
                                                E3DSector sector,
                                                E3DTriangle triangle,
                                                E3DActor possibleCollisionActor)
Description copied from interface: E3DCollisionDetector
Interface to check the collision between sourceActor and triangle.

Specified by:
checkActorTriangleCollision in interface E3DCollisionDetector
Overrides:
checkActorTriangleCollision in class E3DCollisionDetectorSegment

checkActorBoundingObjectCollision

public E3DCollision checkActorBoundingObjectCollision(E3DActor sourceActor,
                                                      E3DVector3F startPos,
                                                      E3DVector3F endPos,
                                                      E3DWorld world,
                                                      E3DSector sector,
                                                      E3DBoundingObject boundingObject,
                                                      E3DActor possibleCollisionActor)
Description copied from interface: E3DCollisionDetector
Interface to check the collision between sourceActor and a boundingObject

Specified by:
checkActorBoundingObjectCollision in interface E3DCollisionDetector
Overrides:
checkActorBoundingObjectCollision in class E3DCollisionDetectorSegment

checkFastSphereVsTriangle

public E3DCollision checkFastSphereVsTriangle(E3DActor sourceActor,
                                              E3DVector3F startPos,
                                              E3DVector3F endPos,
                                              E3DWorld world,
                                              E3DSector sector,
                                              E3DTriangle triangle,
                                              E3DActor possibleCollisionActor)

checkSphereSphereCollision

public E3DCollision checkSphereSphereCollision(E3DActor sourceActor,
                                               E3DVector3F startPos,
                                               E3DVector3F endPos,
                                               E3DWorld world,
                                               E3DSector sector,
                                               E3DBoundingSphere possibleCollisionBoundingSphere,
                                               E3DActor possibleCollisionActor)