private void CopyImages(string name) => Expendator.CopyFiles(Environment.CurrentDirectory, Path.GetDirectoryName(Expendator.GetWordFromFile("WhereData.txt")), new string[] { $"{name} .pdf", $"{name} (heatmap).png", $"{name} (heatmap_uz).png", $"{name} (ur).html", $"{name} (uz).html", $"{name} (ur).txt", $"{name} (uz).txt" }.Where(f => File.Exists(f)).ToArray());
/// <summary> /// Суммирование замеров, построение анимации и прочие заключительные действия /// </summary> /// <returns></returns> private async Task AfterLoopsActAsync() { label9.Show(); label9.Text = $"Суммирование{Environment.NewLine}по замерам"; toolStripStatusLabel1.Text = $"Запущено построение u-surfaces"; toolStripStatusLabel2.Text = $""; BegShow(); string gl = $"{Source.ToString(sourcesArray)}, (xmin, xmax, count, ymin, ymax) = ({xmin}, {xmax}, {count}dot{count2}, {ymin}, {ymax})"; await Task.Run(() => { StreamWriter ts = new StreamWriter("textnames.txt"); StreamWriter pds = new StreamWriter("pdfnames.txt"); Expendator.WriteStringInFile("SurfaceMain.txt", gl); double th = (tmax - tmin) / (tcount - 1); for (int i = 0; i < tcount; i++) { double t = tmin + i *th; if (t == 0) { continue; } string tit = $"{Source.ToString(sourcesArray)}, t = {t.ToString(4)}, (xmin, xmax, count, ymin, ymax) = ({xmin}, {xmax}, {count}dot{count2}, {ymin}, {ymax})"; ts.WriteLine(tit + ".txt"); pds.WriteLine($"3D ur, uz(title , {tit} ).pdf"); filenames[i] = "3D " + tit + " .png"; } FilenamesArrayToFile(); ts.Close(); pds.Close(); OtherMethods.PlaySound("ДанныеСуммируются"); Parallel.Invoke( () => SSum(), () => { if (Functions.ur.Lenght > 0) { Functions.ur.Dispose(); GC.Collect(); } }); Expendator.CopyFiles(Expendator.GetWordFromFile("WhereData.txt"), Environment.CurrentDirectory, "3D ur, uz(x).txt", "3D ur, uz(y).txt"); }); label9.Hide(); if (source.IsCancellationRequested) { return; } await Task.Run(() => StartProcess("OnlySurface.r", global : true)); //new Библиотека_графики.PdfOpen("Полученные u-surfaces", Path.Combine(Environment.CurrentDirectory, $"{gl} .pdf")).Show(); CopyImages(gl); ShowImages(gl); OtherMethods.PlaySound("ПоверхностиПостроены"); if (count == count2) { if (MessageBox.Show("Создавать анимацию? (может занять до 15 минут)", "Анимация", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { toolStripStatusLabel1.Text = $"Построены u-surface. Создаётся массив кадров"; await Task.Run(() => Expendator.StartProcessOnly("ReDraw3Duxt2.r", true)); if (source.IsCancellationRequested) { return; } OtherMethods.PlaySound("АнимацияГотова"); new Anima(filenames).ShowDialog(); } new Scheme(sourcesArray, new Point(xmin, ymin), xmax - xmin, ymax - ymin, gl + " (heatmap).png").Show(); OtherMethods.PlaySound("ВычисленияЗавершены"); } toolStripStatusLabel1.Text = $"Операции закончены"; }