From 696b37427eb77787e7c740e4c593a6bb3f9f3c02 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 17 Mar 2011 06:26:03 +0000 Subject: Fixed a bug from class. --- src/common/CollisionDetector.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/common') diff --git a/src/common/CollisionDetector.java b/src/common/CollisionDetector.java index a4c7b53..f193a29 100644 --- a/src/common/CollisionDetector.java +++ b/src/common/CollisionDetector.java @@ -18,6 +18,7 @@ import javax.media.j3d.TriangleFanArray; import javax.media.j3d.TriangleStripArray; import javax.vecmath.Matrix3f; import javax.vecmath.Point3f; +import javax.vecmath.SingularMatrixException; import javax.vecmath.Tuple3f; import javax.vecmath.Vector3f; @@ -387,7 +388,11 @@ public class CollisionDetector { Matrix3f tmp = new Matrix3f(a.previousPosition.x - a.position.x, triangle.b.x - triangle.a.x, triangle.c.x - triangle.a.x, a.previousPosition.y - a.position.y, triangle.b.y - triangle.a.y, triangle.c.y - triangle.a.y, a.previousPosition.z - a.position.z, triangle.b.z - triangle.a.z, triangle.c.z - triangle.a.z); - tmp.invert(); + try { + tmp.invert(); + } catch (SingularMatrixException e) { + return EMPTY_COLLISION_LIST; + } Vector3f intercept = new Vector3f(); intercept.scaleAdd(-1, triangle.a, a.previousPosition); tmp.transform(intercept); -- cgit v1.2.3