Example #1
0
        public void Merge(ref Std.Engine.Core.Utilities.BoundingBox value1, ref Std.Engine.Core.Utilities.BoundingBox value2, out Std.Engine.Core.Utilities.BoundingBox result)
        {
            var b1 = new BoundingBox(value1.Minimum.ToSDXVector3(), value1.Maximum.ToSDXVector3());
            var b2 = new BoundingBox(value2.Minimum.ToSDXVector3(), value2.Maximum.ToSDXVector3());

            BoundingBox.Merge(ref b1, ref b2, out var res);
            result = new Std.Engine.Core.Utilities.BoundingBox(res.Minimum.ToNVector3(), res.Maximum.ToNVector3());
        }
Example #2
0
        public bool Intersects(ref Std.Engine.Core.Utilities.BoundingBox box, ref Std.Engine.Core.Utilities.Ray ray)
        {
            float distance;
            var   sbox = new BoundingBox(box.Minimum.ToSDXVector3(), box.Maximum.ToSDXVector3());
            var   sray = new Ray(ray.Origin.ToSDXVector3(), ray.Direction.ToSDXVector3());

            return(Collision.RayIntersectsBox(ref sray, ref sbox, out distance));
        }
Example #3
0
        public bool Intersects(ref Std.Engine.Core.Utilities.BoundingBox box, ref Std.Engine.Core.Utilities.Ray ray, out System.Numerics.Vector3 point)
        {
            var sbox = new BoundingBox(box.Minimum.ToSDXVector3(), box.Maximum.ToSDXVector3());
            var sray = new Ray(ray.Origin.ToSDXVector3(), ray.Direction.ToSDXVector3());
            var res  = Collision.RayIntersectsBox(ref sray, ref sbox, out SharpDX.Vector3 p);

            point = p.ToNVector3();

            return(res);
        }