/// <summary>
        /// 이동하게 되는 노드의 정보를 임시 저장후 삭제한다.
        /// </summary>
        /// <param name="index"></param>
        public void tempMove_NaviPosition(int index)
        {
            //포지션을 이동했을 때 포지션을 새로 저장한다.
            var searchShape = Navidiagram.Items.OfType <NaviShape>().Where(x => x.Index == index).ToList();

            if (searchShape.Count == 1)
            {
                var srcCon = Navidiagram.Items.OfType <RadDiagramConnection>().Where(x => x.Target == searchShape[0]).ToList();
                if (srcCon.Count == 1)
                {
                    src = srcCon[0];
                }
                else
                {
                    src = null;
                }

                var dstCon = Navidiagram.Items.OfType <RadDiagramConnection>().Where(x => x.Source == searchShape[0]).ToList();
                if (dstCon.Count == 1)
                {
                    dst = dstCon[0];
                }
                else
                {
                    dst = null;
                }

                pointtype           = searchShape[0].PointType;
                create_newIndex     = searchShape[0].Index;
                create_newPositionX = searchShape[0].Position.X;
                create_newPositionY = searchShape[0].Position.Y;
                Navidiagram.RemoveShape(searchShape[0]);
            }
        }
        /// <summary>
        /// 경로 포인트가 삭제시 경로포인트도 삭제해준다.
        /// </summary>
        /// <param name="xPoint"></param>
        /// <param name="yPoint"></param>
        public void deleteNaviShape(float xPoint, float yPoint)
        {
            var navi = Navidiagram.Items.OfType <NaviShape>().Where(x => x.NaviPointX == xPoint && x.NaviPointY == yPoint).ToList();

            if (navi.Count == 1)
            {
                Navidiagram.RemoveShape(navi[0]);
            }
            reConnection();
        }
        /// <summary>
        /// 경로 다이어그램 모델 삭제시 발생하는 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NaviDeleteCommandExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            List <NaviShape>            deldatas = new List <NaviShape>();
            List <RadDiagramConnection> delcons  = new List <RadDiagramConnection>();

            //삭제 shape 파악
            foreach (var item in Navidiagram.SelectedItems)
            {
                //NaviShape 가 삭제 되면 3D 부분에서도 삭제해야함.
                if (item is NaviShape)
                {
                    NaviShape delshape = item as NaviShape;
                    //VIewer3D.Instance.NaviPointGridRemove(delshape.NaviPointX, delshape.NaviPointY);

                    deldatas.Add(delshape);
                }
                else if (item is RadDiagramConnection)
                {
                    RadDiagramConnection delitem = item as RadDiagramConnection;
                    delcons.Add(delitem);
                }
            }

            if (deldatas.Count > 0)
            {
                VIewer3D.Instance.RemoveNaviPoints();
            }

            for (int i = 0; i < delcons.Count; i++)
            {
                Navidiagram.RemoveConnection(delcons[i]);
            }

            for (int i = 0; i < deldatas.Count; i++)
            {
                //삭제되는 shape에 connection 이 있는지 확인한다.
                //있는경우는 전부 삭제한다.
                var srcCon = Navidiagram.Items.OfType <RadDiagramConnection>().Where(x => x.Source == deldatas[i]).ToList();
                if (srcCon.Count > 0)
                {
                    foreach (RadDiagramConnection item in srcCon)
                    {
                        Navidiagram.RemoveConnection(item);
                    }
                }
                var dstCon = Navidiagram.Items.OfType <RadDiagramConnection>().Where(x => x.Target == deldatas[i]).ToList();
                if (dstCon.Count > 0)
                {
                    foreach (RadDiagramConnection item in dstCon)
                    {
                        Navidiagram.RemoveConnection(item);
                    }
                }
                Navidiagram.RemoveShape(deldatas[i]);
            }

            reConnection();

            if (loadTime == false)
            {
                Save();
            }


            resetNodeNumber();
        }