示例#1
0
    private (int[, ], bool[, ], int[, ]) MarkPatterns(int[,] grid, bool[,] gridLock, int[,] gridAngles)
    {
        int[,] pattern;

        int[] indexOrder = new int[] { 7, 6, 5, 4, 3 };
        for (int count = 0; count < indexOrder.Length; count++)
        // foreach (int index in Enum.GetValues(typeof(Library.Elements)))
        {
            int index = indexOrder[count];
            if (index < 3 || !patternChecks[index - 3] || !library.elementPool[index].hasPattern)
            {
                continue;
            }

            int[] angles = LibraryElements.GetAngles(index);
            // there are more than 1 angles for this pattern
            foreach (int angle in angles)
            {
                pattern = LibraryElements.GetPattern(index);
                pattern = RotatePattern(pattern, angle);
                List <(int, int)> patternPositions = PatternMapper.FindPattern(ref grid, ref gridLock, pattern);
                Debug.Log($"Found elements: {index} / {patternPositions.Count}");
                foreach ((int width, int depth)position in patternPositions)
                {
                    Debug.Log($"ptrn {index}: {position.width}/{position.depth}");
                    grid[position.width, position.depth]       = index;
                    gridAngles[position.width, position.depth] = angle;
                }
            }
        }

        return(grid, gridLock, gridAngles);
    }
        public Guid Add([FromBody] PatternModel viewModel)
        {
            var pattern = PatternMapper.MapPatternViewModelToPattern(viewModel);

            viewModel.Id = _patternService.Create(pattern);

            return(viewModel.Id);
        }
示例#3
0
        //
        // GET: /Pattern/Details/5

        public ActionResult Details(Guid id)
        {
            var pattern = PatternMapper.MapPatternToPatternViewModel(_patternService.Get(id));

            return(View(pattern));
        }
        // GET api/wasterpattern/5
        public PatternModel Get(Guid id)
        {
            var existingRecord = _patternService.Get(id);

            return(PatternMapper.MapPatternToPatternViewModel(existingRecord));
        }