DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="3.5.0-beta6906" />

 Point

public class Point : Geometry
using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Autodesk.DesignScript.Geometry { public class Point : Geometry { internal IPointEntity PointEntity => HostImpl as IPointEntity; [Scaling()] public double X { get { return PointEntity.get_X() * DesignScriptEntity.scaleFactor; } } [Scaling()] public double Y { get { return PointEntity.get_Y() * DesignScriptEntity.scaleFactor; } } [Scaling()] public double Z { get { return PointEntity.get_Z() * DesignScriptEntity.scaleFactor; } } internal Point(IPointEntity host, bool persist) : base(host, persist) { } public override string ToString() { string[] obj = new string[7] { "Point(X = ", null, null, null, null, null, null }; double num = X; obj[1] = num.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture); obj[2] = ", Y = "; num = Y; obj[3] = num.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture); obj[4] = ", Z = "; num = Z; obj[5] = num.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture); obj[6] = ")"; return string.Concat(obj); } protected override bool Equals(DesignScriptEntity other) { if (base.Equals(other)) return true; Point point = other as Point; if (point == null) return false; double num = point.X; if (num.Equals(X)) { num = point.Y; if (num.Equals(Y)) { num = point.Z; return num.Equals(Z); } } return false; } protected override int ComputeHashCode() { int num = 17; int num2 = num * 23; double num3 = X; num = num2 + num3.GetHashCode(); int num4 = num * 23; num3 = Y; num = num4 + num3.GetHashCode(); int num5 = num * 23; num3 = Z; return num5 + num3.GetHashCode(); } internal static void InitType() { Geometry.RegisterHostType(typeof(IPointEntity), (IGeometryEntity host, bool persist) => new Point(host as IPointEntity, persist)); } internal static Point Wrap(IPointEntity host, bool persist = true) { if (host == null) return null; return new Point(host, persist); } internal static Point[] Wrap(IPointEntity[] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static Point[][] Wrap(IPointEntity[][] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static IPointEntity[][] Unwrap(Point[][] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IPointEntity[] Unwrap(Point[] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IPointEntity[] Unwrap(IEnumerable<Point> o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IPointEntity Unwrap(Point o) { return o.PointEntity; } public static Point ByCoordinates([Scaling()] double x = 0, [Scaling()] double y = 0) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { x, y }); x /= DesignScriptEntity.scaleFactor; y /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointByCoordinates(x, y), true); } public static Point Origin() { return Wrap(HostFactory.Factory.PointOrigin(), true); } public static Point ByCoordinates([Scaling()] double x = 0, [Scaling()] double y = 0, [Scaling()] double z = 0) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { x, y, z }); x /= DesignScriptEntity.scaleFactor; y /= DesignScriptEntity.scaleFactor; z /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointByCoordinates(x, y, z), true); } public static Point ByCartesianCoordinates([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem coordinateSystem, [Scaling()] double x = 0, [Scaling()] double y = 0, [Scaling()] double z = 0) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { x, y, z }); x /= DesignScriptEntity.scaleFactor; y /= DesignScriptEntity.scaleFactor; z /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointByCartesianCoordinates(CoordinateSystem.Unwrap(coordinateSystem), x, y, z), true); } public static Point ByCylindricalCoordinates([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem coordinateSystem, double angle = 0, [Scaling()] double elevation = 0, [Scaling()] double radius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { elevation, radius }); elevation /= DesignScriptEntity.scaleFactor; radius /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointByCylindricalCoordinates(CoordinateSystem.Unwrap(coordinateSystem), angle, elevation, radius), true); } public static Point BySphericalCoordinates([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem coordinateSystem, double phi = 0, double theta = 0, [Scaling()] double radius = 1) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { radius }); radius /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointBySphericalCoordinates(CoordinateSystem.Unwrap(coordinateSystem), phi, theta, radius), true); } public static Point[] PruneDuplicates(IEnumerable<Point> points, [Scaling()] double tolerance = 0.001) { DesignScriptEntity.CheckArgsForAsmExtents(new List<double> { tolerance }); tolerance /= DesignScriptEntity.scaleFactor; return Wrap(HostFactory.Factory.PointPruneDuplicates(Unwrap(points), tolerance), true); } public Vector AsVector() { return Vector.Wrap(PointEntity.AsVector(), true); } public Point Add(Vector vectorToAdd) { return Wrap(PointEntity.Add(Vector.Unwrap(vectorToAdd)), true); } public Point Subtract(Vector vectorToSubtract) { return Wrap(PointEntity.Subtract(Vector.Unwrap(vectorToSubtract)), true); } public Geometry[] Project(Geometry baseGeometry, Vector projectionDirection) { return Geometry.Wrap(PointEntity.Project(Geometry.Unwrap(baseGeometry), Vector.Unwrap(projectionDirection))); } } }