IList<ILine> GetClosingLines( ICurve AttachedCurve) { //if (!Option.IsArc()) // return null; IList<ILine> lines, closingLines = null; ILine arcLine = null; if (AttachedCurve != null) { closingLines = AttachedCurve.GetClosingLines(); arcLine = AttachedCurve.ArcLine; } if (Option.IsPie()) { lines = new ILine[] { Line1, Line2 }; if (AttachedCurve == null) return lines; return lines.AppendItems(closingLines).ToArray(); } else if (Option.IsClosedArc()) { lines = new ILine[] { ArcLine }; if (AttachedCurve == null) return lines; return lines.AppendItems(closingLines).ToArray(); } else if (Option.IsArc()) { if (AttachedCurve == null) return null; if (arcLine != null) { return new ILine[] { Factory.newLine(ArcLine.Start, arcLine.Start), Factory.newLine(ArcLine.End, arcLine.End) }; } } return null; }