DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="0.9.1" />

 IVectorEntity

using Autodesk.DesignScript.Runtime; using System; namespace Autodesk.DesignScript.Interfaces { [SupressImportIntoVM] [ExportToProtoGeometryClass] [CompareUsing(new string[] { "X", "Y", "Z" })] public interface IVectorEntity : IDesignScriptEntity, IDisposable { double X { get; } double Y { get; } double Z { get; } double Length { get; } IPointEntity AsPoint(); IVectorEntity Reverse(); IVectorEntity Add(IVectorEntity vectorToAdd); IVectorEntity Subtract(IVectorEntity vectorToSubtract); IVectorEntity Cross(IVectorEntity cross); double Dot(IVectorEntity vec); IVectorEntity Normalized(); bool IsParallel(IVectorEntity other); bool IsAlmostEqualTo(IVectorEntity other); IVectorEntity Transform(ICoordinateSystemEntity cs); IVectorEntity Rotate(IVectorEntity axis, double degrees = 0); IVectorEntity Rotate(IPlaneEntity origin, double degrees = 0); IVectorEntity Scale(double scale_factor = 1); IVectorEntity Scale(double xScaleFactor = 1, double yScaleFactor = 1, double zScaleFactor = 1); double AngleBetween(IVectorEntity otherVector); double AngleBetween(IVectorEntity otherVector, IVectorEntity rotationAxis); } }