public void ClosestPointOnTriangleCorner2() { float s; float t; bool inside; Vector3 closest = TrianglePathway.ClosestPointOnTriangle(ref _triangle, new Vector3(2f, 0, 0f), out s, out t, out inside); Assert.IsFalse(inside); Assert.AreEqual(1.0f, closest.X, float.Epsilon); Assert.AreEqual(0.0f, closest.Y, float.Epsilon); Assert.AreEqual(0.0f, closest.Z, float.Epsilon); Assert.AreEqual(0.0f, s, float.Epsilon); Assert.AreEqual(1.0f, t, float.Epsilon); }
public void ClosestPointInTriangleEdge2() { float s; float t; bool inside; Vector3 closest = TrianglePathway.ClosestPointOnTriangle(ref _triangle, new Vector3(0.5f, 0, 0.1f), out s, out t, out inside); Assert.IsTrue(inside); Assert.AreEqual(0.5f, closest.X, float.Epsilon); Assert.AreEqual(0.0f, closest.Y, float.Epsilon); Assert.AreEqual(0.1f, closest.Z, float.Epsilon); Assert.AreEqual(0.1f, s, float.Epsilon); Assert.AreEqual(0.5f, t, float.Epsilon); }