public void DibujarNuevoRegular() { modo = Modo.Regular; var figura = new Regular((int)numericUpDown1.Value, (double)numericUpDown2.Value); puntosF = figura.puntos; pictureBox1.Refresh(); }
private void Button2_Click(object sender, EventArgs e) { var nombre = textBox1.Text; if (modo == Modo.Poligono) { var copia = new List <PointF>(); foreach (var p in puntos) { copia.Add(p); } diccionariofiguras[nombre] = new Poligono(copia) { color = this.color, Name = nombre }; } else if (modo == Modo.Elipse) { var copia = new List <PointF>(); foreach (var p in puntos) { copia.Add(p); } diccionariofiguras[nombre] = new Elipse(copia) { color = this.color, Name = nombre }; } else if (modo == Modo.Regular) { var copia = new List <PointF>(); foreach (var p in puntosF) { copia.Add(p); } diccionariofiguras[nombre] = new Regular() { puntos = copia, color = this.color, radio = (double)numericUpDown2.Value, Name = nombre }; } else if (modo == Modo.Conjunto) { diccionariofiguras[nombre] = new Conjunto(figurasadibujar) { Name = nombre }; } if (!listBox1.Items.Contains(nombre)) { listBox1.Items.Add(nombre); } listBox1.Refresh(); textBox1.Text = $"Fig{diccionariofiguras.Count + 1}"; Refresh(); }
private void PictureBox2_Paint(object sender, PaintEventArgs e) { if (elementolistBox != null && diccionariofiguras.ContainsKey(elementolistBox)) { e.Graphics.Clear(Color.White); var figura = diccionariofiguras[elementolistBox]; if (figura.modo == Modo.Poligono) { var poligono = figura as Poligono; var puntospequenos = TransformaEscalaAPequeña(poligono.puntos); PintarPolígono(puntospequenos, e, figura.color); } else if (figura.modo == Modo.Elipse) { var elipse = figura as Elipse; var puntospequenos = TransformaEscalaAPequeña(elipse.puntos); PintarElipse(puntospequenos, e, figura.color); } else if (figura.modo == Modo.Regular) { var elipse = figura as Regular; var puntospequenos = TransformaEscalaAPequeña(elipse.puntos); PintarRegular(puntospequenos, e, figura.color); } else { var conjunto = figura as Conjunto; var conjunto2 = new List <FiguraDibujable>(); for (int i = 0; i < conjunto.figuras.Count; i++) { var fig = conjunto.figuras[i] as FiguraDibujable; var puntospequeños = TransformaEscalaAPequeña(fig.puntos); FiguraDibujable fig2; if (fig is Elipse) { fig2 = new Elipse(puntospequeños); } else if (fig is Poligono) { fig2 = new Poligono(puntospequeños); } else { fig2 = new Regular(puntospequeños); } fig2.color = fig.color; conjunto2.Add(fig2); } List <MyRectangle> rectangulos = new List <MyRectangle>(); foreach (var fig in conjunto2) { if (fig is FiguraDibujable) { var dibujable = (FiguraDibujable)fig; var rectangulo = dibujable.GenerarRectanguloAsociado(); rectangulos.Add(rectangulo); } } var sk = new Skyline(pictureBox2.Size.Width, pictureBox2.Height); var result = sk.Run(rectangulos); if (result.Item1) { var varios = new Conjunto(result.Item2); figurasadibujar2 = varios.figuras; PintarVarias(varios.figuras, e); } return; } } }