Example #1
0
 public bool HasNearNeighbourUntested(Point p, double epsilon)
 {
     double[,] bounds = CalculateBoundEpsilon(p, epsilon);
     if (EpsilonboundIntersectsCellBounds(bounds))
     {
         if (HasChildren())
         {
             foreach (Cell cell in c)
             {
                 if (cell.HasNearNeighbourUntested(p, epsilon))
                 {
                     return(true);
                 }
             }
         }
         else
         {
             foreach (Point point in Elements)
             {
                 if (p != point)
                 {
                     if (DistanceComputer.ComputeSquaredDistance(p, point) <= epsilon * epsilon)
                     {
                         return(true);
                     }
                 }
             }
         }
     }
     return(false);
 }
Example #2
0
        public void XandYareDifferent()
        {
            Point  p1       = new Point(3, 5);
            Point  p2       = new Point(7, 2);
            double expected = 25;
            double actual   = DistanceComputer.ComputeSquaredDistance(p1, p2);

            Assert.AreEqual(expected, actual);
        }
Example #3
0
        public void EqualPointsHaveDistanceZero()
        {
            Point  p1       = new Point(0, 0);
            Point  p2       = new Point(0, 0);
            double expected = 0;
            double actual   = DistanceComputer.ComputeSquaredDistance(p1, p2);

            Assert.AreEqual(expected, actual);
        }
Example #4
0
        public void YareEqualXareDifferent()
        {
            Point  p1       = new Point(0, 0);
            Point  p2       = new Point(4, 0);
            double expected = 16;
            double actual   = DistanceComputer.ComputeSquaredDistance(p1, p2);

            Assert.AreEqual(expected, actual);
        }