using AIStudio.Wpf.DiagramDesigner.Geometry; namespace AIStudio.Wpf.DiagramDesigner { public class PointHelper { public static PointBase GetPointForConnector(FullyCreatedConnectorInfo connector) { PointBase point = new PointBase(); if (connector == null) { return point; } if (connector.IsInnerPoint) { point = new PointBase(connector.DataItem.Left + connector.DataItem.ItemWidth * connector.XRatio, connector.DataItem.Top + connector.DataItem.ItemHeight * connector.YRatio); } else { switch (connector.Orientation) { case ConnectorOrientation.Top: point = new PointBase(connector.DataItem.Left + (connector.DataItem.ItemWidth / 2), connector.DataItem.Top); break; case ConnectorOrientation.Bottom: point = new PointBase(connector.DataItem.Left + (connector.DataItem.ItemWidth / 2), (connector.DataItem.Top + connector.DataItem.ItemHeight)); break; case ConnectorOrientation.Right: point = new PointBase(connector.DataItem.Left + connector.DataItem.ItemWidth, connector.DataItem.Top + (connector.DataItem.ItemHeight / 2)); break; case ConnectorOrientation.Left: point = new PointBase(connector.DataItem.Left, connector.DataItem.Top + (connector.DataItem.ItemHeight / 2)); break; } } return point; } } }