Cream.AllenTemporal.AllenDomain.UpdateMinMax C# (CSharp) Method

UpdateMinMax() private method

Updates the min max.
private UpdateMinMax ( ) : void
return void
        private void UpdateMinMax()
        {
            if (sizeField > 0) {
                try {
                    var interval = (int[])_intervals[0];
                    minField = interval[0];
                    interval = (int[])_intervals[_intervals.Count - 1];
                    maxField = interval[1];
                } catch (IndexOutOfRangeException) {
                }
            }
        }

Usage Example

Beispiel #1
0
        /// <summary>
        /// Caps the specified d.
        /// </summary>
        /// <param name="d">The d.</param>
        /// <returns></returns>
        public override Domain Cap(Domain d)
        {
            if (!(d is AllenDomain))
            {
                return(EMPTY);
            }
            var         newD = new AllenDomain();
            AllenDomain d0   = this;
            var         d1   = (AllenDomain)d;

            try {
                int i0 = 0;
                int i1 = 0;
                while (i0 < d0.intervals.Count && i1 < d1.intervals.Count)
                {
                    var interval = (int[])d0.intervals[i0];
                    int min0     = interval[0];
                    int max0     = interval[1];
                    interval = (int[])d1.intervals[i1];
                    int min1 = interval[0];
                    int max1 = interval[1];
                    if (max0 < min1)
                    {
                        i0++;
                        continue;
                    }
                    if (max1 < min0)
                    {
                        i1++;
                        continue;
                    }
                    interval    = new int[2];
                    interval[0] = Math.Max(min0, min1);
                    interval[1] = Math.Min(max0, max1);
                    newD.intervals.Add(interval);
                    if (max0 <= max1)
                    {
                        i0++;
                    }
                    if (max1 <= max0)
                    {
                        i1++;
                    }
                }
            } catch (IndexOutOfRangeException) {
            }
            newD.UpdateSize();
            newD.UpdateMinMax();
            if (newD.Empty)
            {
                return(EMPTY);
            }
            return(newD);
        }
All Usage Examples Of Cream.AllenTemporal.AllenDomain::UpdateMinMax