private void RenderPath() { LineBuilder lb = new LineBuilder(); var startv3 = StartBall.Transform.ToVector3(); var endv3 = EndBall.Transform.ToVector3(); var start = new DHVertex() { x = startv3.X, y = startv3.Y, z = startv3.Z }; var end = new DHVertex() { x = endv3.X, y = endv3.Y, z = endv3.Z }; DHPath path = new DHPath(); if (dh.FindPath(true, start, end, path)) { if (path.Length > 1) { var vs = path.GetPathData(); for (int i = 0; i < path.Length - 1; i++) { Vector3 v = new Vector3((float)vs[i].x, (float)vs[i].y, (float)vs[i].z); Vector3 nv = new Vector3((float)vs[i + 1].x, (float)vs[i + 1].y, (float)vs[i + 1].z); lb.AddLine(new Vector3(v.X, v.Y + 1, v.Z), new Vector3(nv.X, nv.Y + 1, nv.Z)); } } WayPath.Geometry = lb.ToLineGeometry3D(); } //playersGroup.Children.Clear(); //playersGroup.Children.Add(WayPath); }
public static SharpDX.Vector3 U2V(DHVertex p3) { return(new SharpDX.Vector3((float)p3.x, (float)p3.y, (float)p3.z)); }