internal IEnumerable <DiagramObject> CreateDiagramObjects(Diagram diagram) { List <DiagramObject> result = new List <DiagramObject>(); List <Coordinate> pnts = new List <Coordinate>(); pnts.Add(new Coordinate(GeometryBuilder.Convert(FromPort.PortStartX), GeometryBuilder.Convert(FromPort.PortStartY))); pnts.Add(new Coordinate(GeometryBuilder.Convert(FromPort.PortEndX), GeometryBuilder.Convert(FromPort.PortEndY))); pnts.Add(new Coordinate(GeometryBuilder.Convert(ToPort.PortEndX), GeometryBuilder.Convert(ToPort.PortEndY))); pnts.Add(new Coordinate(GeometryBuilder.Convert(ToPort.PortStartX), GeometryBuilder.Convert(ToPort.PortStartY))); pnts.Add(new Coordinate(GeometryBuilder.Convert(FromPort.PortStartX), GeometryBuilder.Convert(FromPort.PortStartY))); var ring = new LinearRing(pnts.ToArray()); var poly = new Polygon(ring); result.Add(new DiagramObject(diagram) { Style = Style is null ? "Cable" : Style, Label = this.Label, Geometry = poly, IdentifiedObject = _refClass == null ? null : new IdentifiedObjectReference() { RefId = _refId, RefClass = _refClass }, DrawingOrder = DrawingOrder });