public void RemoveLink(DiagramLink diagramLink) { if (links.Contains(diagramLink)) { links.Remove(diagramLink); } }
public void AddLink(DiagramLink diagramLink) { if (!links.Contains(diagramLink)) { links.Add(diagramLink); } }
public virtual double GetDistanceOfLinkToEdge(DiagramLink diagramLink) { var bottomRightCornerAngle = Vector.AngleBetween(Utils.Angle0Vector, BottomRight - Pos); var linkAngle = diagramLink.Angle0; if (Math.Abs(linkAngle) <= bottomRightCornerAngle || Math.Abs(linkAngle) >= 180 - bottomRightCornerAngle) { return(Size.Width / 2 / Math.Abs(Math.Cos(linkAngle / 180 * Math.PI))); } return(Size.Height / 2 / Math.Sin(Math.Abs(linkAngle / 180 * Math.PI))); }