示例#1
0
        public override void CalculatePath()
        {
            List <Point> points = PathCreator.GetConnectionLine(_start, EndPoint, Placemement.None);

            StartPoint     = points[1];
            EndPlacemement = PathCreator.GetOpositeOrientation(_start.Placemement);
            int idx = GetArrowIndex(points, EndPlacemement);

            ArrowPoint = points[idx];
            Points     = new PointCollection(points.Take(idx + 1));
        }
示例#2
0
        public override void CalculatePath()
        {
            List <Point> points = PathCreator.GetConnectionLine(_start, _end, true);// _pathFinder.CalculatePath(StartPoint, EndPoint, _startPlacement, _endPlacemement, Hooks.Where(item => item.IsMoved).ToList());
            int          idx    = GetArrowIndex(points, _end.Placemement);

            ArrowPoint = points[idx];
            CalculateHooks(points);
            points.Insert(0, StartPoint);
            Points       = new PointCollection(points.GetRange(0, idx + 2));
            Model.Points = new List <Point>()
            {
                StartPoint, EndPoint
            };
        }