Exemple #1
0
        /// <summary>
        ///     Interseccion entre los recubrimientos.
        /// </summary>
        /// <param name="rec">Rectangulo.</param>
        public BoundingBox3d Intersect(BoundingBox3d rec)
        {
            double rxMin, rxMax;

            RangeUtils.Intersect(this.XMin, this.XMax, rec.XMin, rec.XMax, out rxMin, out rxMax);
            if (RangeUtils.IsEmpty(rxMin, rxMax))
            {
                return(Empty);
            }

            double ryMin, ryMax;

            RangeUtils.Intersect(this.YMin, this.YMax, rec.YMin, rec.YMax, out ryMin, out ryMax);
            if (RangeUtils.IsEmpty(ryMin, ryMax))
            {
                return(Empty);
            }

            double rzMin, rzMax;

            RangeUtils.Intersect(this.ZMin, this.ZMax, rec.ZMin, rec.ZMax, out rzMin, out rzMax);
            if (RangeUtils.IsEmpty(rzMin, rzMax))
            {
                return(Empty);
            }

            return(new BoundingBox3d(rxMin, rxMax, ryMin, ryMax, rzMin, rzMax));
        }
Exemple #2
0
        /// <summary>
        /// Interseccion entre los recubrimientos.
        /// </summary>
        /// <param name="rec">Rectangulo.</param>
        public BoundingBox1d Intersect(BoundingBox1d rec)
        {
            double rxMin, rxMax;

            RangeUtils.Intersect(this.XMin, this.XMax, rec.XMin, rec.XMax, out rxMin, out rxMax);
            if (RangeUtils.IsEmpty(rxMin, rxMax))
            {
                return(Empty);
            }

            return(new BoundingBox1d(rxMin, rxMax));
        }