//private List<List<Coords>> GetLaneCellSatinStitches(List<Lane> lanes) //{ // List<List<Coords>> blockList = new List<List<Coords>>(); // int ln = 0; // foreach (var lane in lanes) // { // if (lane.Dot2.Y > lane.Dot1.Y) // blockList.Add(GenerateVerticalTiledColumnStitchBlock(lane.Dot1.X, lane.Dot1.Y, lane.Length)); // else blockList.Add(ReverseCoords(GenerateVerticalTiledColumnStitchBlock(lane.Dot2.X, lane.Dot2.Y, lane.Length))); // ln++; // } // return blockList; //} /// <summary> /// Converts <see cref="List<List<Coords>>"/> to <see cref="List<CoordsBlock>"/> /// </summary> /// <param name="listBlocks"></param> /// <returns></returns> //List<CoordsBlock> GetListOfCoordsBlock(List<List<Coords>> listBlocks) //{ // List<CoordsBlock> reslult = new List<CoordsBlock>(); // CoordsBlock prevBlock = null; // foreach (var block in listBlocks) // { // if (prevBlock != null) // { // var jumpBlock = new CoordsBlock() { Jumped = true}; // jumpBlock.Add(prevBlock.Last()); // jumpBlock.Add(block.First()); // reslult.Add(jumpBlock); // } // CoordsBlock coordsBlock = new CoordsBlock(); // foreach (var coords in block) // coordsBlock.Add(coords); // reslult.Add(coordsBlock); // prevBlock = coordsBlock; // } // return reslult; //} private List <CoordsBlock> GetNegativatedYListOfCoordsBlock(List <List <Coords> > listBlocks) { List <CoordsBlock> reslult = new List <CoordsBlock>(); CoordsBlock coordsBlock; // CoordsBlock prevBlock = null; foreach (var block in listBlocks) { coordsBlock = new CoordsBlock(); foreach (var coords in block) { coords.Y = -coords.Y; coordsBlock.Add(coords); } reslult.Add(coordsBlock); } return(reslult); }
List <CoordsBlock> GetListCoordsBlock(IEnumerable <List <Coords> > listCoords) { if (listCoords == null) { return(null); } var result = new List <CoordsBlock>(); foreach (var listCoord in listCoords) { var block = new CoordsBlock { Color = Color.Black }; listCoord.ForEach(coord => coord.Y = -coord.Y); block.AddRange(listCoord); result.Add(block); } return(result); }