public Sheet NewCircleSheet(int w = 3000) { var tt = new Sheet(); tt.Name = "circleSheet" + (sheets.Count + 1); tt.Height = w; tt.Width = w; tt.Points = new SvgPoint[] { }; int x = 0; int y = 0; for (int i = 0; i < 360; i += 5) { var xx = w / 2 * Math.Cos(i * Math.PI / 180.0f); var yy = w / 2 * Math.Sin(i * Math.PI / 180.0f); tt.AddPoint(new SvgPoint(xx + w / 2, yy + w / 2)); } return(tt); }
public Sheet NewRhombusSheet(int w = 3000, int h = 1500) { var tt = new Sheet(); tt.Name = "rhombSheet" + (sheets.Count + 1); tt.Height = h; tt.Width = w; tt.Points = new SvgPoint[] { }; int x = 0; int y = 0; int _width = w; int _height = h; tt.AddPoint(new SvgPoint(x + _width / 2, y)); tt.AddPoint(new SvgPoint(x, y + _height / 2)); tt.AddPoint(new SvgPoint(x + _width / 2, y + _height)); tt.AddPoint(new SvgPoint(x + _width, y + _height / 2)); return(tt); }
private void moveToSheetsToolStripMenuItem_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { var pol = listView1.SelectedItems[0].Tag as NFP; polygons.Remove(pol); var b = GeometryUtil.getPolygonBounds(pol); Sheet sheet = new Sheet(); sheet.Points = new SvgPoint[] { }; foreach (var item in pol.Points) { sheet.AddPoint(new SvgPoint(item.x - b.x, item.y - b.y)); } /*if (pol.children != null) * { * sheet.children = new List<NFP>(); * for (int i = 0; i < pol.children.Count; i++) * { * var child = pol.children[i]; * NFP newchild = new NFP(); * for (var j = 0; j < child.length; j++) * { * newchild.AddPoint(new SvgPoint(child[j].x - b.x, child[j].y - b.y)); * } * sheet.children.Add(newchild); * } * }*/ sheet.Width = (float)b.width; sheet.Height = (float)b.height; sheet.source = context.GetNextSheetSource(); sheets.Add(sheet); context.ReorderSheets(); UpdateList(); } }