private void refreshCanvas() // actualiza la visualización (colores) { if (comboboxcolor.SelectedIndex == 0) //Pressure { for (int i = 0; i < nozzlerectangles.Length; i++) { Rectangle rect_canvas = this.nozzlerectangles[i]; Rectangulo rect_nozzle = this.nozzle.GetRectangulo(i + 1); rect_canvas.Fill = new SolidColorBrush(GetColorPressure(0, 1, rect_nozzle.GetPresP())); } LinearGradientBrush lgb = new LinearGradientBrush(GetColorPressure(0, 1, 1), GetColorPressure(0, 1, 0), 90); GradientStop gs = new GradientStop(); gs.Color = GetColorPressure(0, 1, 0.5); gs.Offset = 0.5; lgb.GradientStops.Add(gs); rectanglescale.Fill = lgb; unitbox.Text = "[P/Po]"; maxlabel.Text = "1"; minlabel.Text = "0"; } if (comboboxcolor.SelectedIndex == 1) //Velocity { for (int i = 0; i < nozzlerectangles.Length; i++) { Rectangle rect_canvas = this.nozzlerectangles[i]; Rectangulo rect_nozzle = this.nozzle.GetRectangulo(i + 1); rect_canvas.Fill = new SolidColorBrush(GetColorMach(0, 2.5, rect_nozzle.GetVelP())); } LinearGradientBrush lgb = new LinearGradientBrush(GetColorMach(0, 2.5, 2.5), GetColorMach(0, 2.5, 0), 90); GradientStop gs = new GradientStop(); gs.Color = GetColorMach(0, 2.5, 1.25); gs.Offset = 0.5; lgb.GradientStops.Add(gs); rectanglescale.Fill = lgb; unitbox.Text = "[V/Vo]"; maxlabel.Text = "2.5"; minlabel.Text = "0"; } if (comboboxcolor.SelectedIndex == 2) //Temperature { for (int i = 0; i < nozzlerectangles.Length; i++) { Rectangle rect_canvas = this.nozzlerectangles[i]; Rectangulo rect_nozzle = this.nozzle.GetRectangulo(i + 1); rect_canvas.Fill = new SolidColorBrush(GetColorTemp(0, 1, rect_nozzle.GetTempP())); } LinearGradientBrush lgb = new LinearGradientBrush(GetColorTemp(0, 1, 1), GetColorTemp(0, 1, 0), 90); GradientStop gs = new GradientStop(); gs.Color = GetColorTemp(0, 1, 0.5); gs.Offset = 0.5; lgb.GradientStops.Add(gs); rectanglescale.Fill = lgb; unitbox.Text = "[T/To]"; maxlabel.Text = "1"; minlabel.Text = "0"; } if (comboboxcolor.SelectedIndex == 3) //Density { for (int i = 0; i < nozzlerectangles.Length; i++) { Rectangle rect_canvas = this.nozzlerectangles[i]; Rectangulo rect_nozzle = this.nozzle.GetRectangulo(i + 1); rect_canvas.Fill = new SolidColorBrush(GetColorDensity(0, 1, rect_nozzle.GetDensP())); } LinearGradientBrush lgb = new LinearGradientBrush(GetColorDensity(0, 1, 1), GetColorDensity(0, 1, 0), 90); GradientStop gs = new GradientStop(); gs.Color = GetColorDensity(0, 1, 0.5); gs.Offset = 0.5; lgb.GradientStops.Add(gs); rectanglescale.Fill = lgb; unitbox.Text = "[ρ/ρo]"; maxlabel.Text = "1"; minlabel.Text = "0"; } }