BEPUutilitiesTests.BoundingTests.TestIntersection C# (CSharp) Метод

TestIntersection() публичный статический Метод

public static TestIntersection ( Ray simdRay, BoundingBox simdBox, int &intersectionCount ) : void
simdRay Ray
simdBox BEPUutilities2.BoundingBox
intersectionCount int
Результат void
        public static void TestIntersection(Ray simdRay, BoundingBox simdBox, ref int intersectionCount)
        {
            bRay scalarRay;
            bBoundingBox scalarBox;

            scalarRay.Position = Convert(simdRay.Position);
            scalarRay.Direction = Convert(simdRay.Direction);
            scalarBox.Min = Convert(simdBox.Min);
            scalarBox.Max = Convert(simdBox.Max);

            float simdT;
            var simdIntersects = Ray.Intersects(ref simdRay, ref simdBox, out simdT);

            float scalarT;
            var scalarIntersects = scalarRay.Intersects(ref scalarBox, out scalarT);
            //Console.WriteLine($"Simd says: {simdIntersects}, scalar says {scalarIntersects}");
            Assert.IsTrue(simdIntersects == scalarIntersects);
            if (simdIntersects)
            {
                var error = Math.Abs(simdT - scalarT);
                Assert.IsTrue(error <= 1e-5f);
                intersectionCount++;
            }
            //Just treat T as undefined if it's not intersecting. No need to check it.
        }