コード例 #1
0
        public static Tuple <int, int>[] GetCoords(Segment segment)
        {
            if (segment is Pixel)
            {
                Tuple <int, int>[] result = { ((Pixel)segment).Coordinate };

                return(result);
            }
            else
            {
                Parent seg = (Parent)segment;

                Tuple <int, int>[] result = new Tuple <int, int> [SegmentModule.SegmentSize(segment)];

                Tuple <int, int>[] seg1Result = GetCoords(seg.Seg1);
                Tuple <int, int>[] seg2Result = GetCoords(seg.Seg2);

                for (int i = 0; i < result.Length; i++)
                {
                    if (i < seg1Result.Length)
                    {
                        result[i] = seg1Result[i];
                    }
                    else
                    {
                        result[i] = seg2Result[i - seg1Result.Length];
                    }
                }

                return(result);
            }
        }