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 A fast bounding sphere collision detector. 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 on collisions where 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) This collision detector will use sourceObject's bounding sphere object to check for collisions against other triangles or bounding objects.

Constructor Summary
E3DCollisionDetectorFastBoundingSphere()
           
 
Method Summary
 E3DCollision checkCollisionDetectableObjectBoundingObjectCollision(E3DActor sourceActor, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DBoundingObject boundingObject, E3DCollisionDetectableObject possibleCollisionObject)
           
 E3DCollision checkCollisionDetectableObjectTriangleCollision(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DTriangle triangle, E3DCollisionDetectableObject possibleCollisionObject)
          Interface to check the collision between sourceObject and triangle.
 E3DCollision checkFastSphereVsTriangle(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DTriangle triangle, E3DCollisionDetectableObject possibleCollisionObject)
           
 E3DCollision checkSphereSphereCollision(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DWorld world, E3DSector sector, E3DBoundingSphere possibleCollisionBoundingSphere, E3DCollisionDetectableObject possibleCollisionObject)
           
 
Methods inherited from class espresso3d.engine.collision.detectors.E3DCollisionDetectorSegment
checkCollisionDetectableObjectBoundingObjectCollision, checkSegmentBoundingSphereCollision, checkSegmentTriangleCollision
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface espresso3d.engine.collision.base.E3DCollisionDetector
checkCollisionDetectableObjectBoundingObjectCollision
 

Constructor Detail

E3DCollisionDetectorFastBoundingSphere

public E3DCollisionDetectorFastBoundingSphere()
Method Detail

checkCollisionDetectableObjectTriangleCollision

public E3DCollision checkCollisionDetectableObjectTriangleCollision(E3DCollisionDetectableObject sourceObject,
                                                                    E3DVector3F startPos,
                                                                    E3DVector3F endPos,
                                                                    E3DWorld world,
                                                                    E3DSector sector,
                                                                    E3DTriangle triangle,
                                                                    E3DCollisionDetectableObject possibleCollisionObject)
Description copied from interface: E3DCollisionDetector
Interface to check the collision between sourceObject and triangle.

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

checkCollisionDetectableObjectBoundingObjectCollision

public E3DCollision checkCollisionDetectableObjectBoundingObjectCollision(E3DActor sourceActor,
                                                                          E3DVector3F startPos,
                                                                          E3DVector3F endPos,
                                                                          E3DWorld world,
                                                                          E3DSector sector,
                                                                          E3DBoundingObject boundingObject,
                                                                          E3DCollisionDetectableObject possibleCollisionObject)

checkFastSphereVsTriangle

public E3DCollision checkFastSphereVsTriangle(E3DCollisionDetectableObject sourceObject,
                                              E3DVector3F startPos,
                                              E3DVector3F endPos,
                                              E3DWorld world,
                                              E3DSector sector,
                                              E3DTriangle triangle,
                                              E3DCollisionDetectableObject possibleCollisionObject)

checkSphereSphereCollision

public E3DCollision checkSphereSphereCollision(E3DCollisionDetectableObject sourceObject,
                                               E3DVector3F startPos,
                                               E3DVector3F endPos,
                                               E3DWorld world,
                                               E3DSector sector,
                                               E3DBoundingSphere possibleCollisionBoundingSphere,
                                               E3DCollisionDetectableObject possibleCollisionObject)