public void checkRectangleProximity(Rectangle rc) { int [] rectCenter = Tracker.getCenterOfRectangle(rc); if ((Math.Abs(rectCenter[0] - X) < searchBorder) && (Math.Abs(rectCenter[1] - Y) < searchBorder)) { rects.Add(rc); } }
public void computeCenter() { Vector TopLeft = new Vector(640, 480); Vector BottomRight = new Vector(0, 0); int centerX = X; int centerY = Y; foreach (Rectangle rc in rects) { int[] rectCenter = Tracker.getCenterOfRectangle(rc); if (rectCenter[0] < TopLeft.X) { TopLeft.X = rectCenter[0]; } if (rectCenter[1] < TopLeft.Y) { TopLeft.Y = rectCenter[1]; } if (rectCenter[0] > BottomRight.X) { BottomRight.X = rectCenter[0]; } if (rectCenter[1] > BottomRight.Y) { BottomRight.Y = rectCenter[1]; } centerX = ((int)BottomRight.X - (int)TopLeft.X) / 2 + (int)TopLeft.X; centerY = ((int)BottomRight.Y - (int)TopLeft.Y) / 2 + (int)TopLeft.Y; } tryToSetCoords(centerX, centerY); rects.Clear(); }