espresso3d.engine.collision.detectors
Class E3DCollisionDetectorBoundingSphere

java.lang.Object
  extended byespresso3d.engine.base.E3DEngineItem
      extended byespresso3d.engine.collision.detectors.E3DCollisionDetectorSegment
          extended byespresso3d.engine.collision.detectors.E3DCollisionDetectorBoundingSphere
All Implemented Interfaces:
E3DCollisionDetector

public class E3DCollisionDetectorBoundingSphere
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
E3DCollisionDetectorBoundingSphere(E3DEngine engine)
           
 
Method Summary
 E3DCollision checkFastSphereVsTriangle(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DTriangle triangle)
           
 E3DCollision checkForCollisionWithBoundingObject(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DBoundingObject boundingObject)
          Interface to check the collision between sourceObject and triangle.
 E3DCollision checkForCollisionWithTriangle(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DTriangle triangle)
           
 E3DCollision checkSphereVsBoundingObject(E3DCollisionDetectableObject sourceObject, E3DVector3F startPos, E3DVector3F endPos, E3DBoundingObject boundingObject)
           
 
Methods inherited from class espresso3d.engine.collision.detectors.E3DCollisionDetectorSegment
getBoundingObject, setBoundingObject
 
Methods inherited from class espresso3d.engine.base.E3DEngineItem
getEngine, setEngine
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface espresso3d.engine.collision.base.E3DCollisionDetector
getBoundingObject, setBoundingObject
 

Constructor Detail

E3DCollisionDetectorBoundingSphere

public E3DCollisionDetectorBoundingSphere(E3DEngine engine)
Method Detail

checkForCollisionWithTriangle

public E3DCollision checkForCollisionWithTriangle(E3DCollisionDetectableObject sourceObject,
                                                  E3DVector3F startPos,
                                                  E3DVector3F endPos,
                                                  E3DTriangle triangle)
Specified by:
checkForCollisionWithTriangle in interface E3DCollisionDetector
Overrides:
checkForCollisionWithTriangle in class E3DCollisionDetectorSegment

checkForCollisionWithBoundingObject

public E3DCollision checkForCollisionWithBoundingObject(E3DCollisionDetectableObject sourceObject,
                                                        E3DVector3F startPos,
                                                        E3DVector3F endPos,
                                                        E3DBoundingObject boundingObject)
Description copied from interface: E3DCollisionDetector
Interface to check the collision between sourceObject and triangle.

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

checkFastSphereVsTriangle

public E3DCollision checkFastSphereVsTriangle(E3DCollisionDetectableObject sourceObject,
                                              E3DVector3F startPos,
                                              E3DVector3F endPos,
                                              E3DTriangle triangle)

checkSphereVsBoundingObject

public E3DCollision checkSphereVsBoundingObject(E3DCollisionDetectableObject sourceObject,
                                                E3DVector3F startPos,
                                                E3DVector3F endPos,
                                                E3DBoundingObject boundingObject)