From 04c82c4c75ea036dc8982ab5eb26f91d1f7a5de8 Mon Sep 17 00:00:00 2001 From: szdot Date: Thu, 4 Jan 2024 20:43:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E7=9F=A9=E9=98=B5=E6=8B=89?= =?UTF-8?q?=E6=95=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlyCube/MainWindow.xaml.cs | 55 ++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/FlyCube/MainWindow.xaml.cs b/FlyCube/MainWindow.xaml.cs index fec0697..80f11b4 100644 --- a/FlyCube/MainWindow.xaml.cs +++ b/FlyCube/MainWindow.xaml.cs @@ -35,12 +35,11 @@ namespace FlyCube InitializeComponent(); //创建一个 主画布对象 TopCanvas = new MainCanvas(this.LayerPlane); - } /// /// 3D绕行 /// - private void ByPass_Click(object sender, RoutedEventArgs e) + private async void ByPass_Click(object sender, RoutedEventArgs e) { //资源管理器 获取航点文件路径 FileBase.FileClass = new string[] { "航点文件" }; @@ -51,9 +50,11 @@ namespace FlyCube List abVecs = FileBase.TxtToPos(FliePath, out string[] fightNames);//从txt文件里面读取航点 信息 Vector3[] aVecs = abVecs[0].ToArray(); Vector3[] bVecs = abVecs[1].ToArray(); - Vector3[] new_bVecs = FlyVecFun.ContactABOut(aVecs, bVecs, StrPrint); - //List> re = FlyVecFun.ABypassB(aVecs, new_bVecs, StrPrint, GetVal); - + //Vector3[] new_bVecs = FlyVecFun.ContactABOut(aVecs, bVecs, StrPrint); + Vector3[] new_bVecs = FlyVecFun.NormalPull(aVecs, bVecs); + + //Task>> reTask = Task.Run(() => FlyVecFun.ABypassB(aVecs, bVecs, StrPrintAsync, GetVal)); + //List> re = await reTask; //string txta = ""; //string txtb = ""; @@ -62,28 +63,34 @@ namespace FlyCube for (int i = 0; i < abVecs[0].Length; i++) { - //if (re.Count > 0) - //{ - // txta += i + " 0" + " " + re[0][i].X + " " + re[0][i].Y + " " + re[0][i].Z + "\r\n"; - //} - //if (re.Count > 1) - //{ - // txtb += i + " 0" + " " + re[1][i].X + " " + re[1][i].Y + " " + re[1][i].Z + "\r\n"; - // txtc += i + " 0" + " " + re[2][i].X + " " + re[2][i].Y + " " + re[2][i].Z + "\r\n"; - //} + // if (re.Count > 0) + // { + // txta += i + " 0" + " " + re[0][i].X + " " + re[0][i].Y + " " + re[0][i].Z + "\r\n"; + // } + // if (re.Count > 1) + // { + // txtb += i + " 0" + " " + re[1][i].X + " " + re[1][i].Y + " " + re[1][i].Z + "\r\n"; + // } + // if (re.Count > 2) + // { + // txtc += i + " 0" + " " + re[2][i].X + " " + re[2][i].Y + " " + re[2][i].Z + "\r\n"; + // } txtd += i + " 0" + " " + new_bVecs[i].X + " " + new_bVecs[i].Y + " " + new_bVecs[i].Z + "\r\n"; } //if (re.Count > 0) - //{ + //{ // SaveFile("C:/Users/szdot/Desktop/a.txt", txta); //} //if (re.Count > 1) //{ // SaveFile("C:/Users/szdot/Desktop/b.txt", txtb); - // SaveFile("C:/Users/szdot/Desktop/c.txt", txtc); - //} + //if (re.Count > 2) + //{ + // SaveFile("C:/Users/szdot/Desktop/c.txt", txtc); + //} + SaveFile("C:/Users/szdot/Desktop/d.txt", txtd); } else @@ -91,11 +98,19 @@ namespace FlyCube return; } } - //回调函数 输出日志 + // 异步回调函数 输出日志 + private async void StrPrintAsync(string str) + { + await Task.Run(() => + { + // 输出日志的异步操作 + //vLogBox.Text += "\r\n" + str; + MessageBox.Show(str); + }); + } private void StrPrint(string str) { - //MessageBox.Show(str); - vLogBox.Text += "\r\n" + str; + } private void GetVal(int val) {