public Ellipse EllipseToSpeckle(DB.Ellipse ellipse) { using (DB.Plane basePlane = DB.Plane.CreateByOriginAndBasis(ellipse.Center, ellipse.XDirection, ellipse.YDirection)) { var trim = ellipse.IsBound ? new Interval(ellipse.GetEndParameter(0), ellipse.GetEndParameter(1)) : null; return(new Ellipse( PlaneToSpeckle(basePlane), ScaleToSpeckle(ellipse.RadiusX), ScaleToSpeckle(ellipse.RadiusY), new Interval(0, 2 * Math.PI), trim, ModelUnits)); } }
public Ellipse EllipseToSpeckle(DB.Ellipse ellipse, string units = null) { var u = units ?? ModelUnits; using (DB.Plane basePlane = DB.Plane.CreateByOriginAndBasis(ellipse.Center, ellipse.XDirection, ellipse.YDirection)) { var trim = ellipse.IsBound ? new Interval(ellipse.GetEndParameter(0), ellipse.GetEndParameter(1)) : null; var ellipseToSpeckle = new Ellipse( PlaneToSpeckle(basePlane, u), u == Units.None ? ellipse.RadiusX : ScaleToSpeckle(ellipse.RadiusX), u == Units.None ? ellipse.RadiusY : ScaleToSpeckle(ellipse.RadiusY), new Interval(0, 2 * Math.PI), trim, u); ellipseToSpeckle.length = ellipse.Length; return(ellipseToSpeckle); } }