/// <summary> /// 3D 맵에서 경로를 이동시킬때 노드를 새로 그려준다. /// </summary> /// <param name="X"></param> /// <param name="Y"></param> /// <param name="index"></param> public void move_NaviShape(float X, float Y, int index) { //탭 네비쪽으로 전환하고 tabCon.SelectedIndex = 0; //다이어그램에 포인트 추가 NaviShape addsShape = new NaviShape() { Position = new Point(create_newPositionX, create_newPositionY), Index = index, PointType = "Nomal", NaviPointX = X, NaviPointY = Y }; if (src != null) { src.Target = addsShape; } if (dst != null) { dst.Source = addsShape; } Navidiagram.AddShape(addsShape); Navidiagram.AutoFit(); }
/// <summary> /// 커넥션을 다시 그려준다. autofit 포함 /// </summary> public void reConnection() { //Navidiagram.BeginInit(); ////커넥션 전체 삭제 //var delcon = Navidiagram.Items.OfType<RadDiagramConnection>().ToList(); //foreach (RadDiagramConnection item in delcon) //{ // Navidiagram.RemoveConnection(item); //} //var shapes = Navidiagram.Items.OfType<NaviShape>().ToList(); //if (shapes.Count >= 2) //{ // for (int i = 0; i < shapes.Count - 1; i++) // { // shapes[i].PointType = "1"; // if (i == 0) // { // shapes[i].PointType = "0"; // } // RadDiagramConnection con = new RadDiagramConnection(); // con.Source = shapes[i]; // con.Target = shapes[i + 1]; // con.TargetCapType = CapType.Arrow2Filled; // con.Stroke = new SolidColorBrush(Colors.Black); // con.StrokeThickness = 2; // con.IsEditable = false; // Navidiagram.AddConnection(con); // if (i + 1 == shapes.Count - 1) // { // shapes[i + 1].PointType = "2"; // } // } //} //Navidiagram.EndInit(); Navidiagram.AutoFit(); VIewer3D.Instance.navi.Children.Clear(); VIewer3D.Instance.DrawLinesOnTimeline(); }