/***************************************************/ public static bool IsEqual(this BHG.Arc bhArc, RHG.ArcCurve rhArc, double tolerance = BHG.Tolerance.Distance) { if (bhArc == null & rhArc == null) { return(true); } RHG.Arc innerArc; rhArc.TryGetArc(out innerArc); return(bhArc.IsEqual(innerArc, tolerance)); }
/***************************************************/ /**** Public Methods - Curves ****/ /***************************************************/ public static bool IsEqual(this BHG.Arc bhArc, RHG.Arc rhArc, double tolerance = BHG.Tolerance.Distance) { if (bhArc == null & rhArc == default(RHG.Arc)) { return(true); } return(bhArc.CoordinateSystem.IsEqual(rhArc.Plane, tolerance) && Math.Abs(bhArc.Radius - rhArc.Radius) < tolerance && Math.Abs(bhArc.StartAngle - rhArc.StartAngle) < tolerance && Math.Abs(bhArc.EndAngle - rhArc.EndAngle) < tolerance); }
/***************************************************/ /**** Public Methods - Curves ****/ /***************************************************/ public static RHG.Arc ToRhino(this BHG.Arc arc) { if (arc == null) { return(default(RHG.Arc)); } return(new RHG.Arc() { Plane = arc.CoordinateSystem.ToRhino(), AngleDomain = new RHG.Interval(arc.StartAngle, arc.EndAngle), Radius = arc.Radius }); }
/***************************************************/ /**** Public Methods - Curves ****/ /***************************************************/ public static void RenderMeshes(BHG.Arc arc, Rhino.Display.DisplayPipeline pipeline, DisplayMaterial material) { return; }
/***************************************************/ /**** Public Methods - Curves ****/ /***************************************************/ public static void RenderWires(BHG.Arc arc, Rhino.Display.DisplayPipeline pipeline, Color bhColour) { pipeline.DrawArc(arc.ToRhino(), bhColour, 2); }