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); }
// // 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)); }