Esempio n. 1
0
        internal static Point[] Sort(Point[] centers, int[] angle)
        {
            Point[] pointArray = new Point[3];
            switch (FinderPattern.GetURQuadrant(angle))
            {
            case 1:
                pointArray[1] = FinderPattern.GetPointAtSide(centers, 1, 2);
                pointArray[2] = FinderPattern.GetPointAtSide(centers, 2, 4);
                break;

            case 2:
                pointArray[1] = FinderPattern.GetPointAtSide(centers, 2, 4);
                pointArray[2] = FinderPattern.GetPointAtSide(centers, 8, 4);
                break;

            case 3:
                pointArray[1] = FinderPattern.GetPointAtSide(centers, 4, 8);
                pointArray[2] = FinderPattern.GetPointAtSide(centers, 1, 8);
                break;

            case 4:
                pointArray[1] = FinderPattern.GetPointAtSide(centers, 8, 1);
                pointArray[2] = FinderPattern.GetPointAtSide(centers, 2, 1);
                break;
            }
            for (int index = 0; index < centers.Length; ++index)
            {
                if (!centers[index].Equals(pointArray[1]) && !centers[index].Equals(pointArray[2]))
                {
                    pointArray[0] = centers[index];
                }
            }
            return(pointArray);
        }