DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

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

 Ellipse

public class Ellipse : 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(IEllipseEntity), typeof(IGeometryFactory), new Type[] { })] public class Ellipse : Curve { internal IEllipseEntity EllipseEntity => HostImpl as IEllipseEntity; public Point CenterPoint => Point.Wrap(EllipseEntity.get_CenterPoint()); public Vector MajorAxis => Vector.Wrap(EllipseEntity.get_MajorAxis()); public Vector MinorAxis => Vector.Wrap(EllipseEntity.get_MinorAxis()); internal Ellipse(IEllipseEntity host) : base(host) { } internal new static void InitType() { Geometry.RegisterHostType(typeof(IEllipseEntity), (IGeometryEntity host) => new Ellipse(host as IEllipseEntity)); } public static Ellipse ByOriginRadii([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [Scaling()] double xAxisRadius = 1, [Scaling()] double yAxisRadius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(xAxisRadius, yAxisRadius); return Wrap(HostFactory.Factory.EllipseByOriginRadii(Point.Unwrap(origin), xAxisRadius / DesignScriptEntity.scaleFactor, yAxisRadius / DesignScriptEntity.scaleFactor)); } public static Ellipse ByOriginVectors([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(1, 0, 0)")] Vector xAxisRadius, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 2, 0)")] Vector yAxisRadius) { return Wrap(HostFactory.Factory.EllipseByOriginVectors(Point.Unwrap(origin), Vector.Unwrap(xAxisRadius), Vector.Unwrap(yAxisRadius))); } public static Ellipse ByCoordinateSystemRadii([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem origin, [Scaling()] double xAxisRadius = 1, [Scaling()] double yAxisRadius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(xAxisRadius, yAxisRadius); return Wrap(HostFactory.Factory.EllipseByCoordinateSystemRadii(CoordinateSystem.Unwrap(origin), xAxisRadius / DesignScriptEntity.scaleFactor, yAxisRadius / DesignScriptEntity.scaleFactor)); } public static Ellipse ByPlaneRadii([DefaultArgument("Autodesk.DesignScript.Geometry.Plane.XY()")] Plane plane, [Scaling()] double xAxisRadius = 1, [Scaling()] double yAxisRadius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(xAxisRadius, yAxisRadius); return Wrap(HostFactory.Factory.EllipseByPlaneRadii(Plane.Unwrap(plane), xAxisRadius / DesignScriptEntity.scaleFactor, yAxisRadius / DesignScriptEntity.scaleFactor)); } internal static Ellipse Wrap(IEllipseEntity host) { if (host != null) return new Ellipse(host); return null; } internal static Ellipse[] Wrap(IEllipseEntity[] hosts) { return hosts.Select(Wrap).ToArray(); } internal static Ellipse[][] Wrap(IEllipseEntity[][] hosts) { return hosts.Select(Wrap).ToArray(); } internal static IEllipseEntity Unwrap(Ellipse o) { return o.EllipseEntity; } internal static IEllipseEntity[] Unwrap(IEnumerable<Ellipse> o) { return o.Select(Unwrap).ToArray(); } internal static IEllipseEntity[] Unwrap(Ellipse[] o) { return o.Select(Unwrap).ToArray(); } internal static IEllipseEntity[][] Unwrap(Ellipse[][] 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("Ellipse(Normal = ", Normal).Add(", CenterPoint = ", CenterPoint).Add(", MajorAxis = ", MajorAxis) .Add(", MinorAxis = ", MinorAxis) .Append(")"); } } }