DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

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

 Point

public class Point : Geometry
using Autodesk.DesignScript.Geometry.Properties; 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(IPointEntity), typeof(IGeometryFactory), new Type[] { })] 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) : base(host) { } internal static void InitType() { Geometry.RegisterHostType(typeof(IPointEntity), (IGeometryEntity host) => new Point(host as IPointEntity)); } public Vector AsVector() { return Vector.Wrap(PointEntity.AsVector()); } public Point Add(Vector vectorToAdd) { return Wrap(PointEntity.Add(Vector.Unwrap(vectorToAdd))); } public Point Subtract(Vector vectorToSubtract) { return Wrap(PointEntity.Subtract(Vector.Unwrap(vectorToSubtract))); } [IsVisibleInDynamoLibrary(false)] [IsObsolete("point_project_deprecated", typeof(Resources))] [Obsolete("This method is deprecated and will be removed in a future version of Dynamo. Use Geometry.ProjectPointsOnto(Point[] points, Vector projectionDirection) instead.")] public Geometry[] Project(Geometry baseGeometry, Vector projectionDirection) { return Geometry.Wrap(PointEntity.Project(Geometry.Unwrap(baseGeometry), Vector.Unwrap(projectionDirection))); } public static Point ByCoordinates([Scaling()] double x = 0, [Scaling()] double y = 0) { DesignScriptEntity.CheckArgsForAsmExtents(x, y); return Wrap(HostFactory.Factory.PointByCoordinates(x / DesignScriptEntity.scaleFactor, y / DesignScriptEntity.scaleFactor)); } public static Point Origin() { return Wrap(HostFactory.Factory.PointOrigin()); } public static Point ByCoordinates([Scaling()] double x = 0, [Scaling()] double y = 0, [Scaling()] double z = 0) { DesignScriptEntity.CheckArgsForAsmExtents(x, y, z); return Wrap(HostFactory.Factory.PointByCoordinates(x / DesignScriptEntity.scaleFactor, y / DesignScriptEntity.scaleFactor, z / DesignScriptEntity.scaleFactor)); } 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(x, y, z); return Wrap(HostFactory.Factory.PointByCartesianCoordinates(CoordinateSystem.Unwrap(coordinateSystem), x / DesignScriptEntity.scaleFactor, y / DesignScriptEntity.scaleFactor, z / DesignScriptEntity.scaleFactor)); } 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(elevation, radius); return Wrap(HostFactory.Factory.PointByCylindricalCoordinates(CoordinateSystem.Unwrap(coordinateSystem), angle, elevation / DesignScriptEntity.scaleFactor, radius / DesignScriptEntity.scaleFactor)); } 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(radius); return Wrap(HostFactory.Factory.PointBySphericalCoordinates(CoordinateSystem.Unwrap(coordinateSystem), phi, theta, radius / DesignScriptEntity.scaleFactor)); } public static Point[] PruneDuplicates(IEnumerable<Point> points, [Scaling()] double tolerance = 0.001) { DesignScriptEntity.CheckArgsForAsmExtents(tolerance); return Wrap(HostFactory.Factory.PointPruneDuplicates(Unwrap(points), tolerance / DesignScriptEntity.scaleFactor)); } internal static Point Wrap(IPointEntity host) { if (host != null) return new Point(host); return null; } internal static Point[] Wrap(IPointEntity[] hosts) { return hosts.Select(Wrap).ToArray(); } internal static Point[][] Wrap(IPointEntity[][] hosts) { return hosts.Select(Wrap).ToArray(); } internal static IPointEntity Unwrap(Point o) { return o.PointEntity; } internal static IPointEntity[] Unwrap(IEnumerable<Point> o) { return o.Select(Unwrap).ToArray(); } internal static IPointEntity[] Unwrap(Point[] o) { return o.Select(Unwrap).ToArray(); } internal static IPointEntity[][] Unwrap(Point[][] o) { return o.Select(Unwrap).ToArray(); } protected override bool Equals(DesignScriptEntity other) { if (base.Equals(other)) return true; Point point = other as Point; if (point != null) { double num = X; if (num.Equals(point.X)) { num = Y; if (num.Equals(point.Y)) { num = Z; return num.Equals(point.Z); } } } return false; } protected override int ComputeHashCode() { return HashCode.Combine(X, Y, Z); } public override string ToString() { StringBuilder builder = DesignScriptEntity.GetBuilder(); AppendTo(builder); return builder.ToString(); } internal override void AppendTo(StringBuilder builder) { builder.Add("Point(X = ", X).Add(", Y = ", Y).Add(", Z = ", Z) .Append(")"); } } }