Ejemplo n.º 1
0
 public CenteredIntervalTree(
     ICenteredIntervalTreeNode <TPoint, TPointComparer, TValue> root,
     TPointComparer pointComparer)
 {
     this.root          = root;
     this.pointComparer = pointComparer;
 }
Ejemplo n.º 2
0
 public CenteredIntervalTreeNode(
     ICenteredIntervalTreeNode <TPoint, TPointComparer, TValue> leftBranch,
     ICenteredIntervalTreeNode <TPoint, TPointComparer, TValue> rightBranch,
     List <IntervalValuePair <TPoint, TPointComparer, TValue> > centerBelonged,
     TPoint centralPoint)
 {
     this.LeftBranch     = leftBranch;
     this.RightBranch    = rightBranch;
     this.CenterBelonged = centerBelonged;
     this.CentralPoint   = centralPoint;
 }
Ejemplo n.º 3
0
        private static IEnumerable <TValue> Query(
            ICenteredIntervalTreeNode <TPoint, TPointComparer, TValue> node,
            TPoint point,
            TPointComparer pointComparer)
        {
            if (node is CenteredIntervalTreeNode <TPoint, TPointComparer, TValue> centeredIntervalTreeNode)
            {
                return(Query(
                           centeredIntervalTreeNode,
                           point,
                           pointComparer));
            }

            return(Enumerable.Empty <TValue>());
        }