Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public static SharpDX.Vector3 U2V(DHVertex p3)
 {
     return(new SharpDX.Vector3((float)p3.x, (float)p3.y, (float)p3.z));
 }