示例#1
0
 private void obtenerCentroToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (grafos != null && grafo_activo != null && grafo_activo.getTipo() == DIRIGIDO && grafo_activo.getNumeroAristas() > 0)
     {
         if (!grafo_activo.tienePeso())
         {
             DAddPeso dap = new DAddPeso(grafo_activo.getListaAristas());
             grafo_activo.showHideIdAristas(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             if (dap.ShowDialog() == DialogResult.OK)
             {
                 grafo_activo.setPesos(dap.getPesos());
                 grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
                 grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
                 CFloyd cf = new CFloyd(grafo_activo);
                 cf.Floyd();
                 CVertice centro = cf.dameCentro().getVertice();
                 centro.setRelleno(Color.SpringGreen.ToArgb());
                 centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
                 MessageBox.Show(" Vértice Central : " + centro.getId().ToString() + ".     ", "Centro del Grafo " + grafo_activo.getId().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
                 centro.borrate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
                 centro.setRelleno(Color.LightGoldenrodYellow.ToArgb());
                 centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
                 grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             }
             else
             {
                 grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             }
         }
         else
         {
             grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             CFloyd cf = new CFloyd(grafo_activo);
             cf.Floyd();
             CVertice centro = cf.dameCentro().getVertice();
             centro.setRelleno(Color.SpringGreen.ToArgb());
             centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             MessageBox.Show(" Vértice Central : " + centro.getId().ToString() + ".     ", "Centro del Grafo " + grafo_activo.getId().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
             centro.borrate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             centro.setRelleno(Color.LightGoldenrodYellow.ToArgb());
             centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
             grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]);
         }
     }
 }
示例#2
0
        public void pintaNodo4Colores(CVertice vertice, int color_asignado)
        {
            if (num_cromatico < (color_asignado + 1))
            {
                num_cromatico++;
            }

            vertice.setRelleno(colores[color_asignado].ToArgb());
            vertice.setPintado(true);
        } //Con teorema de los 4 colores
示例#3
0
        public void pintaNodoNColores(CVertice vertice)
        {
            int color_asignado = AZUL;

            foreach (CVertice vecino in vertice.getVecinos())
            {
                if (vecino.estaPintado())
                {
                    if (vecino.getArgbRelleno() == colores[color_asignado].ToArgb())
                    {
                        if (color_asignado != NEGRO)
                        {
                            color_asignado++;
                        }
                    }
                }
            }

            vertice.setRelleno(colores[color_asignado].ToArgb());
            vertice.setPintado(true);
        } //General numero cromatico arbitrario
示例#4
0
        public void pintaNodoNColores(CVertice vertice)
        {
            int color_asignado = AZUL;

            foreach (CVertice vecino in vertice.getVecinos())
            {
                if (vecino.estaPintado())
                {
                    if (vecino.getArgbRelleno() == colores[color_asignado].ToArgb())
                    {
                        if (color_asignado != NEGRO)
                        {
                            color_asignado++;
                        }
                    }
                }
            }

            vertice.setRelleno(colores[color_asignado].ToArgb());
            vertice.setPintado(true);
        }
示例#5
0
        public void pintaNodo4Colores(CVertice vertice,int color_asignado)
        {
            if (num_cromatico < (color_asignado + 1))
                num_cromatico++;

            vertice.setRelleno(colores[color_asignado].ToArgb());
            vertice.setPintado(true);
        }