DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="4.2.0-beta4716" />

 Circle

public class Circle : Curve
using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using ProtoGeometryGenerator; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Autodesk.DesignScript.Geometry { [GenerateFromInterface(typeof(ICircleEntity), typeof(IGeometryFactory), new Type[] { })] public class Circle : Curve { internal ICircleEntity CircleEntity => HostImpl as ICircleEntity; public Point CenterPoint => Point.Wrap(CircleEntity.get_CenterPoint()); [Scaling()] public double Radius { get { return CircleEntity.get_Radius() * DesignScriptEntity.scaleFactor; } } internal Circle(ICircleEntity host) : base(host) { } internal new static void InitType() { Geometry.RegisterHostType(typeof(ICircleEntity), (IGeometryEntity host) => new Circle(host as ICircleEntity)); } public static Circle ByCenterPointRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point centerPoint, [Scaling()] double radius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(radius); return Wrap(HostFactory.Factory.CircleByCenterPointRadius(Point.Unwrap(centerPoint), radius / DesignScriptEntity.scaleFactor)); } public static Circle ByCenterPointRadiusNormal([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point centerPoint, [DefaultArgument("1")] [Scaling()] double radius, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector normal) { DesignScriptEntity.CheckArgsForAsmExtents(radius); return Wrap(HostFactory.Factory.CircleByCenterPointRadiusNormal(Point.Unwrap(centerPoint), radius / DesignScriptEntity.scaleFactor, Vector.Unwrap(normal))); } public static Circle ByPlaneRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Plane.XY()")] Plane plane, [Scaling()] double radius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(radius); return Wrap(HostFactory.Factory.CircleByPlaneRadius(Plane.Unwrap(plane), radius / DesignScriptEntity.scaleFactor)); } public static Circle ByThreePoints(Point p1, Point p2, Point p3) { return Wrap(HostFactory.Factory.CircleByThreePoints(Point.Unwrap(p1), Point.Unwrap(p2), Point.Unwrap(p3))); } public static Circle ByBestFitThroughPoints(IEnumerable<Point> points) { return Wrap(HostFactory.Factory.CircleByBestFitThroughPoints(Point.Unwrap(points))); } internal static Circle Wrap(ICircleEntity host) { if (host != null) return new Circle(host); return null; } internal static Circle[] Wrap(ICircleEntity[] hosts) { return hosts.Select(Wrap).ToArray(); } internal static Circle[][] Wrap(ICircleEntity[][] hosts) { return hosts.Select(Wrap).ToArray(); } internal static ICircleEntity Unwrap(Circle o) { return o.CircleEntity; } internal static ICircleEntity[] Unwrap(IEnumerable<Circle> o) { return o.Select(Unwrap).ToArray(); } internal static ICircleEntity[] Unwrap(Circle[] o) { return o.Select(Unwrap).ToArray(); } internal static ICircleEntity[][] Unwrap(Circle[][] o) { return o.Select(Unwrap).ToArray(); } public override string ToString() { StringBuilder builder = DesignScriptEntity.GetBuilder(); AppendTo(builder); return builder.ToString(); } internal override void AppendTo(StringBuilder builder) { builder.Add("Circle(Normal = ", Normal).Add(", CenterPoint = ", CenterPoint).Add(", Radius = ", Radius) .Append(")"); } } }