// Arc // Rh Capture can be a circle OR an arc public Base ArcToSpeckle(ArcCurve a, string units = null) { var u = units ?? ModelUnits; if (a.IsClosed) { RH.Circle preCircle; a.TryGetCircle(out preCircle); Circle myCircle = CircleToSpeckle(preCircle, u); myCircle.domain = IntervalToSpeckle(a.Domain); myCircle.length = a.GetLength(); myCircle.bbox = BoxToSpeckle(new RH.Box(a.GetBoundingBox(true)), u); return(myCircle); } else { RH.Arc preArc; a.TryGetArc(out preArc); Arc myArc = ArcToSpeckle(preArc, u); myArc.domain = IntervalToSpeckle(a.Domain); myArc.length = a.GetLength(); myArc.bbox = BoxToSpeckle(new RH.Box(a.GetBoundingBox(true)), u); return(myArc); } }
// Arc // Rh Capture can be a circle OR an arc, because f**k you public static SpeckleObject ToSpeckle(this ArcCurve a) { if (a.IsClosed) { Circle preCircle; a.TryGetCircle(out preCircle); SpeckleCircle myCircle = preCircle.ToSpeckle(); myCircle.Properties = a.UserDictionary.ToSpeckle(); return(myCircle); } else { Arc preArc; a.TryGetArc(out preArc); SpeckleArc myArc = preArc.ToSpeckle(); myArc.Properties = a.UserDictionary.ToSpeckle(); return(myArc); } }
// Arc // Rh Capture can be a circle OR an arc public Base ArcToSpeckle(ArcCurve a) { if (a.IsClosed) { RH.Circle preCircle; a.TryGetCircle(out preCircle); Circle myCircle = CircleToSpeckle(preCircle); myCircle.domain = IntervalToSpeckle(a.Domain); return(myCircle); } else { RH.Arc preArc; a.TryGetArc(out preArc); Arc myArc = ArcToSpeckle(preArc); myArc.domain = IntervalToSpeckle(a.Domain); return(myArc); } }