public void Intersects_Ray3_Misses() { var b = new BoundingBox(new Vector3(3, 4, 5), new Vector3(6, 7, 8)); var r = new Ray3(new Vector3(0, 0, 0), new Vector3(1, 0, 0)); Assert.IsNull(b.Intersects(r)); Assert.AreEqual(r.Intersects(b), b.Intersects(r)); }
public void AssertThat_RayPointingAwayDoesNotIntersect_WithPositivePlaneDistance() { Plane p = new Plane(new Vector3(0, 1, 0), 5); Ray3 r = new Ray3(new Vector3(0, 10, 0), new Vector3(0, 1, 0)); var i = r.Intersects(p); Assert.IsNull(i); }
public void AssertThat_ParallelRayDoesNotIntersect_WithNegativePlaneDistance() { Plane p = new Plane(new Vector3(0, 1, 0), -5); Ray3 r = new Ray3(new Vector3(0, 10, 0), new Vector3(1, 0, 0)); var i = r.Intersects(p); Assert.IsNull(i); }
public void AssertThat_DownwardRayIntersectsPlane_ReturnsCorrectValue_WithNegativePlaneDistance() { Plane p = new Plane(new Vector3(0, 1, 0), -5); Ray3 r = new Ray3(new Vector3(0, 10, 0), new Vector3(0, -1, 0)); var i = r.Intersects(p); Assert.AreEqual(5, i); }
public void AssertThat_DownwardRayIntersectsPlane_ReturnsCorrectValue() { Plane p = new Plane(new Vector3(0, 1, 0), 0); Ray3 r = new Ray3(new Vector3(0, 10, 0), new Vector3(0, -1, 0)); var i = r.Intersects(p); Assert.AreEqual(10, i); }
public void AssertThat_RayAlmostStartingOnPlane_Intersects_WithNegativePlaneDistance() { Plane p = new Plane(new Vector3(0, 1, 0), -5); Ray3 r = new Ray3(new Vector3(0, 4.999999f, 0), new Vector3(0, -1, 0)); var i = r.Intersects(p); Assert.AreEqual(0, i); }
public void AssertThat_RayStartingOnPlane_Intersects_WithPositivePlaneDistance() { Plane p = new Plane(new Vector3(0, 1, 0), 5); Ray3 r = new Ray3(new Vector3(0, -5, 0), new Vector3(0, -1, 0)); var i = r.Intersects(p); Assert.AreEqual(0, i); }