public CenteredIntervalTree( ICenteredIntervalTreeNode <TPoint, TPointComparer, TValue> root, TPointComparer pointComparer) { this.root = root; this.pointComparer = pointComparer; }
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; }
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>()); }