private void ShowClosestSystems(string name) { sysDist = new List <SystemDist>(); SystemClass LastSystem = null; float dx, dy, dz; double dist; try { if (name == null) { var result = visitedSystems.OrderByDescending(a => a.time).ToList <SystemPosition>(); for (int ii = 0; ii < result.Count; ii++) //foreach (var item in result) { SystemPosition item = result[ii]; LastSystem = SystemData.GetSystem(item.Name); name = item.Name; if (LastSystem != null) { break; } } } else { LastSystem = SystemData.GetSystem(name); } if (name != null) { label3.Text = "Closest systems from " + name.ToString(); } dataGridViewNearest.Rows.Clear(); if (LastSystem == null) { return; } foreach (SystemClass pos in SystemData.SystemList) { dx = (float)(pos.x - LastSystem.x); dy = (float)(pos.y - LastSystem.y); dz = (float)(pos.z - LastSystem.z); dist = dx * dx + dy * dy + dz * dz; //distance = (float)((system.x - arcsystem.x) * (system.x - arcsystem.x) + (system.y - arcsystem.y) * (system.y - arcsystem.y) + (system.z - arcsystem.z) * (system.z - arcsystem.z)); if (dist > 0) { SystemDist sdist = new SystemDist(); sdist.name = pos.name; sdist.dist = Math.Sqrt(dist); sysDist.Add(sdist); } } var list = (from t in sysDist orderby t.dist select t).Take(50); foreach (SystemDist sdist in list) { object[] rowobj = { sdist.name, sdist.dist.ToString("0.00") }; dataGridViewNearest.Rows.Add(rowobj); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("Exception : " + ex.Message); System.Diagnostics.Trace.WriteLine(ex.StackTrace); } }
private void ShowClosestSystems(string name) { sysDist = new List<SystemDist>(); SystemClass LastSystem = null; float dx, dy, dz; double dist; try { if (name == null) { var result = visitedSystems.OrderByDescending(a => a.time).ToList<SystemPosition>(); for (int ii = 0; ii < result.Count; ii++) //foreach (var item in result) { SystemPosition item = result[ii]; LastSystem = SystemData.GetSystem(item.Name); name = item.Name; if (LastSystem != null) break; } } else { LastSystem = SystemData.GetSystem(name); } if (name !=null) label3.Text = "Closest systems from " + name.ToString(); listView1.Items.Clear(); if (LastSystem == null) return; foreach (SystemClass pos in SystemData.SystemList) { dx = (float)(pos.x - LastSystem.x); dy = (float)(pos.y - LastSystem.y); dz = (float)(pos.z - LastSystem.z); dist = dx * dx + dy * dy + dz * dz; //distance = (float)((system.x - arcsystem.x) * (system.x - arcsystem.x) + (system.y - arcsystem.y) * (system.y - arcsystem.y) + (system.z - arcsystem.z) * (system.z - arcsystem.z)); if (dist > 0) { SystemDist sdist = new SystemDist(); sdist.name = pos.name; sdist.dist = Math.Sqrt(dist); sysDist.Add(sdist); } } var list = (from t in sysDist orderby t.dist select t).Take(50); foreach (SystemDist sdist in list) { ListViewItem item = new ListViewItem(sdist.name); item.SubItems.Add(sdist.dist.ToString("0.00")); listView1.Items.Add(item); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("Exception : " + ex.Message); System.Diagnostics.Trace.WriteLine(ex.StackTrace); } }