Exemple #1
0
        public static List <Point2D> Construct(Point2D startPoint, int height, int width, BasicPath path, Jump jumpFunc)
        {
            List <Point2D> result = new List <Point2D>();

            if (height * width == path.NumberOfSteps)
            {
                return(DoBasicMove(startPoint, path));
            }

            int newHeight = height / path.Height;

            int newWidth = width / path.Width;

            Point2D tempPoint = startPoint;

            for (int i = 0; i < path.NumberOfSteps; i++)
            {
                result.AddRange(Construct(tempPoint, newHeight, newWidth, path.DoTransform(i), jumpFunc));

                tempPoint = jumpFunc(result[result.Count - 1], i, height, width, path);
            }

            return(result);
        }
Exemple #2
0
 public BasicPath GetSubRegionBasicPath(int subregionIndex)
 {
     return(basicPath.DoTransform(subregionIndex));
 }