DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

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

 Plane

public class Plane : Geometry
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(IPlaneEntity), typeof(IGeometryFactory), new Type[] { })] public class Plane : Geometry { internal IPlaneEntity PlaneEntity => HostImpl as IPlaneEntity; public Point Origin => Point.Wrap(PlaneEntity.get_Origin()); [Scaling()] public Vector Normal { get { return Vector.Wrap(PlaneEntity.get_Normal().Scale(1 / DesignScriptEntity.scaleFactor)); } } [Scaling()] public Vector XAxis { get { return Vector.Wrap(PlaneEntity.get_XAxis().Scale(1 / DesignScriptEntity.scaleFactor)); } } [Scaling()] public Vector YAxis { get { return Vector.Wrap(PlaneEntity.get_YAxis().Scale(1 / DesignScriptEntity.scaleFactor)); } } internal Plane(IPlaneEntity host) : base(host) { } internal static void InitType() { Geometry.RegisterHostType(typeof(IPlaneEntity), (IGeometryEntity host) => new Plane(host as IPlaneEntity)); } public CoordinateSystem ToCoordinateSystem() { return CoordinateSystem.Wrap(PlaneEntity.ToCoordinateSystem()); } public Plane Offset([Scaling()] double dist = 1) { DesignScriptEntity.CheckArgsForAsmExtents(dist); return Wrap(PlaneEntity.Offset(dist / DesignScriptEntity.scaleFactor)); } public static Plane ByOriginNormal([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector normal) { return Wrap(HostFactory.Factory.PlaneByOriginNormal(Point.Unwrap(origin), Vector.Unwrap(normal))); } public static Plane ByOriginNormalXAxis([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector normal, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(1, 0, 0)")] Vector xAxis) { return Wrap(HostFactory.Factory.PlaneByOriginNormalXAxis(Point.Unwrap(origin), Vector.Unwrap(normal), Vector.Unwrap(xAxis))); } public static Plane ByOriginXAxisYAxis([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(1, 0, 0)")] Vector xAxis, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 1, 0)")] Vector yAxis) { return Wrap(HostFactory.Factory.PlaneByOriginXAxisYAxis(Point.Unwrap(origin), Vector.Unwrap(xAxis), Vector.Unwrap(yAxis))); } public static Plane ByBestFitThroughPoints(IEnumerable<Point> points) { return Wrap(HostFactory.Factory.PlaneByBestFitThroughPoints(Point.Unwrap(points))); } public static Plane ByLineAndPoint(Line line, Point point) { return Wrap(HostFactory.Factory.PlaneByLineAndPoint(Line.Unwrap(line), Point.Unwrap(point))); } public static Plane ByThreePoints(Point origin, Point planePoint, Point xAxisPoint) { return Wrap(HostFactory.Factory.PlaneByThreePoints(Point.Unwrap(origin), Point.Unwrap(planePoint), Point.Unwrap(xAxisPoint))); } public static Plane XY() { return Wrap(HostFactory.Factory.PlaneXY()); } public static Plane XZ() { return Wrap(HostFactory.Factory.PlaneXZ()); } public static Plane YZ() { return Wrap(HostFactory.Factory.PlaneYZ()); } internal static Plane Wrap(IPlaneEntity host) { if (host != null) return new Plane(host); return null; } internal static Plane[] Wrap(IPlaneEntity[] hosts) { return hosts.Select(Wrap).ToArray(); } internal static Plane[][] Wrap(IPlaneEntity[][] hosts) { return hosts.Select(Wrap).ToArray(); } internal static IPlaneEntity Unwrap(Plane o) { return o.PlaneEntity; } internal static IPlaneEntity[] Unwrap(IEnumerable<Plane> o) { return o.Select(Unwrap).ToArray(); } internal static IPlaneEntity[] Unwrap(Plane[] o) { return o.Select(Unwrap).ToArray(); } internal static IPlaneEntity[][] Unwrap(Plane[][] 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("Plane(Origin = ", Origin).Add(", Normal = ", Normal).Add(", XAxis = ", XAxis) .Add(", YAxis = ", YAxis) .Append(")"); } } }