Пример #1
0
        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);
        }
Пример #2
0
        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);
        }