public void SetFractal(int val) { var current = _CurrentFractal; try { current = _Examples[val]; } catch {} _CurrentFractal = current; _FractalScale = _CurrentFractal.Scale; _FractalIterations = _CurrentFractal.Iterations; _ScaleSlider.value = _FractalScale; _IterSlider.value = _FractalIterations; }
// Start is called before the first frame update void Start() { _Examples = new FractalData[] { FractalExamples.KochCurve, FractalExamples.KochSnowFlake, FractalExamples.MapleLeaf, FractalExamples.Tree1, FractalExamples.Cross3D }; _PlottingData = new List <float3>(); _CurrentFractal = _Examples[2]; SetFractal(2); InitializeTextures(); InitializeCS(); ComputeFractal(); }
private async void btnOpenFractalData_ClickAsync(object sender, EventArgs e) { var od = new OpenFileDialog() { FileName = "fractalData.fd", Filter = "FractalData files(*.fd) | *.fd", RestoreDirectory = true }; if (od.ShowDialog() != DialogResult.OK) { return; } try { BinaryFormatter formatter = new BinaryFormatter(); fractalData = null; pbFractalImage.Image = null; using (FileStream fs = new FileStream(od.FileName, FileMode.Open)) { fractalData = (FractalData)formatter.Deserialize(fs); } } catch { MessageBox.Show($"Произошла ошибка открытия файла. Возможно, файл имеет неверный формат.", "Fractal #", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } creator = new FractalCreator(fractalData, genSettings, colorSettings); lblPosXCenter.Text = $"Центр X: {fractalData.CenterX}"; lblPosYCenter.Text = $"Центр Y: {fractalData.CenterY}"; lblSizeArea.Text = $"Увеличение: {fractalData.SizeArea}"; switch (fractalData.FractalType) { case FractalEnumType.Mandelbrot: { cbFractalType.SelectedIndex = 0; break; } case FractalEnumType.Julia: { cbFractalType.SelectedIndex = 1; break; } case FractalEnumType.Lambda: { cbFractalType.SelectedIndex = 2; break; } default: { throw new NotImplementedException(); } } ProgramStatusBusy(); pbFractalImage.Image = await creator.CreateAsync(); ProgramStatusDone(); MessageBox.Show($"Файл успешно открыт.", "Fractal #"); }