Beispiel #1
0
        /// <summary>
        /// Perform a stabbing query on the node
        /// </summary>
        /// <param name="point"></param>
        /// <returns></returns>
        public List <Interval> Stab(long point)
        {
            List <Interval> results = IntervalsCenter.Where(i => i.Intersects(point)).ToList();

            if (point < Center && LeftNode != null)
            {
                results.AddRange(LeftNode.Stab(point));
            }
            if (point > Center && RightNode != null)
            {
                results.AddRange(RightNode.Stab(point));
            }
            return(results);
        }