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)); }
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 }; }