DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="1.0.0-beta2" />

 Vector

public class Vector : DesignScriptEntity
using Autodesk.DesignScript.Interfaces; using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Autodesk.DesignScript.Geometry { public class Vector : DesignScriptEntity { internal IVectorEntity VectorEntity => HostImpl as IVectorEntity; public double X => VectorEntity.get_X(); public double Y => VectorEntity.get_Y(); public double Z => VectorEntity.get_Z(); public double Length => VectorEntity.get_Length(); internal Vector(IVectorEntity host, bool persist) : base(host, persist) { } public override string ToString() { string[] obj = new string[9] { "Vector(X = ", null, null, 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] = ", Length = "; num = Length; obj[7] = num.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture); obj[8] = ")"; return string.Concat(obj); } protected override bool Equals(DesignScriptEntity other) { if (base.Equals(other)) return true; Vector vector = other as Vector; if (vector == null) return false; double num = vector.X; if (num.Equals(X)) { num = vector.Y; if (num.Equals(Y)) { num = vector.Z; return num.Equals(Z); } } return false; } protected override int ComputeHashCode() { int num = 17 * 23; double num2 = X; int num3 = (num + num2.GetHashCode()) * 23; num2 = Y; int num4 = (num3 + num2.GetHashCode()) * 23; num2 = Z; return num4 + num2.GetHashCode(); } internal static Vector Wrap(IVectorEntity host, bool persist = true) { if (host == null) return null; return new Vector(host, persist); } internal static Vector[] Wrap(IVectorEntity[] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static Vector[][] Wrap(IVectorEntity[][] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static IVectorEntity[][] Unwrap(Vector[][] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IVectorEntity[] Unwrap(Vector[] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IVectorEntity[] Unwrap(IEnumerable<Vector> o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IVectorEntity Unwrap(Vector o) { return o.VectorEntity; } public static Vector ByCoordinates(double x = 0, double y = 0, double z = 0) { return Wrap(HostFactory.Factory.VectorByCoordinates(x, y, z), true); } public static Vector ByCoordinates(double x = 0, double y = 0, double z = 0, bool normalized = false) { return Wrap(HostFactory.Factory.VectorByCoordinates(x, y, z, normalized), true); } public static Vector ByTwoPoints(Point start, Point end) { return Wrap(HostFactory.Factory.VectorByTwoPoints(Point.Unwrap(start), Point.Unwrap(end)), true); } public static Vector XAxis() { return Wrap(HostFactory.Factory.VectorXAxis(), true); } public static Vector YAxis() { return Wrap(HostFactory.Factory.VectorYAxis(), true); } public static Vector ZAxis() { return Wrap(HostFactory.Factory.VectorZAxis(), true); } public Point AsPoint() { return Point.Wrap(VectorEntity.AsPoint(), true); } public Vector Reverse() { return Wrap(VectorEntity.Reverse(), true); } public Vector Add(Vector vectorToAdd) { return Wrap(VectorEntity.Add(Unwrap(vectorToAdd)), true); } public Vector Subtract(Vector vectorToSubtract) { return Wrap(VectorEntity.Subtract(Unwrap(vectorToSubtract)), true); } public Vector Cross(Vector cross) { return Wrap(VectorEntity.Cross(Unwrap(cross)), true); } public double Dot(Vector vec) { return VectorEntity.Dot(Unwrap(vec)); } public Vector Normalized() { return Wrap(VectorEntity.Normalized(), true); } public bool IsParallel(Vector other) { return VectorEntity.IsParallel(Unwrap(other)); } public bool IsAlmostEqualTo(Vector other) { return VectorEntity.IsAlmostEqualTo(Unwrap(other)); } public Vector Transform(CoordinateSystem cs) { return Wrap(VectorEntity.Transform(CoordinateSystem.Unwrap(cs)), true); } public Vector Rotate(Vector axis, double degrees = 0) { return Wrap(VectorEntity.Rotate(Unwrap(axis), degrees), true); } public Vector Rotate(Plane origin, double degrees = 0) { return Wrap(VectorEntity.Rotate(Plane.Unwrap(origin), degrees), true); } public Vector Scale(double scale_factor = 1) { return Wrap(VectorEntity.Scale(scale_factor), true); } public Vector Scale(double xScaleFactor = 1, double yScaleFactor = 1, double zScaleFactor = 1) { return Wrap(VectorEntity.Scale(xScaleFactor, yScaleFactor, zScaleFactor), true); } public double AngleBetween(Vector otherVector) { return VectorEntity.AngleBetween(Unwrap(otherVector)); } public double AngleBetween(Vector otherVector, Vector rotationAxis) { return VectorEntity.AngleBetween(Unwrap(otherVector), Unwrap(rotationAxis)); } } }