DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="3.4.0-beta6810" />

 NurbsCurve

public class NurbsCurve : Curve
using Autodesk.DesignScript.Interfaces; using System.Collections.Generic; using System.Linq; namespace Autodesk.DesignScript.Geometry { public class NurbsCurve : Curve { internal INurbsCurveEntity NurbsCurveEntity => HostImpl as INurbsCurveEntity; public int Degree => NurbsCurveEntity.get_Degree(); public bool IsPeriodic => NurbsCurveEntity.get_IsPeriodic(); public bool IsRational => NurbsCurveEntity.get_IsRational(); internal NurbsCurve(INurbsCurveEntity host, bool persist) : base(host, persist) { } public override string ToString() { return "NurbsCurve(Degree = " + Degree.ToString() + ")"; } internal new static void InitType() { Geometry.RegisterHostType(typeof(INurbsCurveEntity), (IGeometryEntity host, bool persist) => new NurbsCurve(host as INurbsCurveEntity, persist)); } internal static NurbsCurve Wrap(INurbsCurveEntity host, bool persist = true) { if (host == null) return null; return new NurbsCurve(host, persist); } internal static NurbsCurve[] Wrap(INurbsCurveEntity[] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static NurbsCurve[][] Wrap(INurbsCurveEntity[][] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static INurbsCurveEntity[][] Unwrap(NurbsCurve[][] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static INurbsCurveEntity[] Unwrap(NurbsCurve[] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static INurbsCurveEntity[] Unwrap(IEnumerable<NurbsCurve> o) { return (from x in o select Unwrap(x)).ToArray(); } internal static INurbsCurveEntity Unwrap(NurbsCurve o) { return o.NurbsCurveEntity; } public static NurbsCurve ByControlPoints(IEnumerable<Point> points) { return Wrap(HostFactory.Factory.NurbsCurveByControlPoints(Point.Unwrap(points)), true); } public static NurbsCurve ByControlPoints(IEnumerable<Point> points, int degree = 3) { return Wrap(HostFactory.Factory.NurbsCurveByControlPoints(Point.Unwrap(points), degree), true); } public static NurbsCurve ByControlPoints(IEnumerable<Point> points, int degree = 3, bool closeCurve = false) { return Wrap(HostFactory.Factory.NurbsCurveByControlPoints(Point.Unwrap(points), degree, closeCurve), true); } public static NurbsCurve ByControlPointsWeightsKnots(IEnumerable<Point> points, double[] weights, double[] knots, int degree = 3) { return Wrap(HostFactory.Factory.NurbsCurveByControlPointsWeightsKnots(Point.Unwrap(points), weights, knots, degree), true); } public static NurbsCurve ByPoints(IEnumerable<Point> points) { return Wrap(HostFactory.Factory.NurbsCurveByPoints(Point.Unwrap(points)), true); } public static NurbsCurve ByPoints(IEnumerable<Point> points, bool closeCurve = false) { return Wrap(HostFactory.Factory.NurbsCurveByPoints(Point.Unwrap(points), closeCurve), true); } public static NurbsCurve ByPoints(IEnumerable<Point> points, int degree = 3) { return Wrap(HostFactory.Factory.NurbsCurveByPoints(Point.Unwrap(points), degree), true); } public static NurbsCurve ByPointsTangents(IEnumerable<Point> points, Vector startTangent, Vector endTangent) { return Wrap(HostFactory.Factory.NurbsCurveByPointsTangents(Point.Unwrap(points), Vector.Unwrap(startTangent), Vector.Unwrap(endTangent)), true); } public Point[] ControlPoints() { return Point.Wrap(NurbsCurveEntity.ControlPoints(), true); } public double[] Knots() { return NurbsCurveEntity.Knots(); } public double[] Weights() { return NurbsCurveEntity.Weights(); } } }