Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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();
        }