public Pair <HyperRect <T>, HyperRect <T> > Split(IMultiDimensionComparable Point, int Dimension) { T NewRight = (T)_Right.Clone(); NewRight.SetDimension(Dimension, Point.GetDimension(Dimension)); T NewLeft = (T)_Left.Clone(); NewLeft.SetDimension(Dimension, Point.GetDimension(Dimension)); return(new Pair <HyperRect <T>, HyperRect <T> >( new HyperRect <T>(_Left, NewRight), new HyperRect <T>(NewLeft, _Right))); }
public double DistanceSquared(IMultiDimensionComparable Obj) { return(_First.DistanceSquared(Obj)); }
public double Subtract(IMultiDimensionComparable Obj, int Dimension) { return(_First.Subtract(Obj, Dimension)); }
public int CompareTo(IMultiDimensionComparable Obj, int Dimension) { return(_First.CompareTo(((KV <T, K>)Obj).First, Dimension)); }