public ICurve CurveToSpeckle(DB.Curve curve, string units = null) { var u = units ?? ModelUnits; switch (curve) { case DB.Line line: return(LineToSpeckle(line, u)); case DB.Arc arc: if (!arc.IsBound) { return(CircleToSpeckle(arc, u)); } return(ArcToSpeckle(arc, u)); case DB.Ellipse ellipse: return(EllipseToSpeckle(ellipse, u)); case DB.NurbSpline nurbs: return(NurbsToSpeckle(nurbs, u)); case DB.HermiteSpline spline: return(HermiteSplineToSpeckle(spline, u)); default: throw new Speckle.Core.Logging.SpeckleException("Cannot convert Curve of type " + curve.GetType()); } }
public ICurve CurveToSpeckle(DB.Curve curve) { switch (curve) { case DB.Line line: return(LineToSpeckle(line)); case DB.Arc arc: if (!arc.IsBound) { return(CircleToSpeckle(arc)); } return(ArcToSpeckle(arc)); case DB.Ellipse ellipse: return(EllipseToSpeckle(ellipse)); case DB.NurbSpline nurbs: return(NurbsToSpeckle(nurbs)); case DB.HermiteSpline spline: return(HermiteSplineToSpeckle(spline)); default: throw new Exception("Cannot convert Curve of type " + curve.GetType()); } }