SIMDPrototyping.Trees.BoundingBoxWide.Intersects2 C# (CSharp) Method

Intersects2() private method

private Intersects2 ( BoundingBoxWide &a, BoundingBoxWide &b, Vector &intersectionMask ) : void
a BoundingBoxWide
b BoundingBoxWide
intersectionMask Vector
return void
        public static unsafe void Intersects2(ref BoundingBoxWide a, ref BoundingBoxWide b, out Vector<int> intersectionMask)
        {
            var minX = Vector.Max(a.Min.X, b.Min.X);
            var minY = Vector.Max(a.Min.Y, b.Min.Y);
            var minZ = Vector.Max(a.Min.Z, b.Min.Z);
            var maxX = Vector.Min(a.Max.X, b.Max.X);
            var maxY = Vector.Min(a.Max.Y, b.Max.Y);
            var maxZ = Vector.Min(a.Max.Z, b.Max.Z);
            var xLeq = Vector.LessThanOrEqual(minX, maxX);
            var yLeq = Vector.LessThanOrEqual(minY, maxY);
            var zLeq = Vector.LessThanOrEqual(minZ, maxZ);
            intersectionMask = Vector.BitwiseAnd(xLeq, Vector.BitwiseAnd(yLeq, zLeq));
        }