DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="4.1.0-beta3074" />

 TSplineTopology

public class TSplineTopology : Topology
using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using System.Collections.Generic; using System.Linq; namespace Autodesk.DesignScript.Geometry.TSpline { public class TSplineTopology : Topology { internal ITSplineTopologyEntity TSplineTopologyEntity => HostImpl as ITSplineTopologyEntity; [IsVisibleInDynamoLibrary(false)] public new TSplineVertex[] Vertices { get { return Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_Vertices())); } } [IsVisibleInDynamoLibrary(false)] public new TSplineEdge[] Edges { get { return Track(TSplineEdge.Wrap(TSplineTopologyEntity.get_Edges())); } } [IsVisibleInDynamoLibrary(false)] public new TSplineFace[] Faces { get { return Track(TSplineFace.Wrap(TSplineTopologyEntity.get_Faces())); } } public TSplineVertex[] RegularVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_RegularVertices())); public TSplineVertex[] StarPointVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_StarPointVertices())); public TSplineVertex[] TPointVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_TPointVertices())); public TSplineVertex[] NonManifoldVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_NonManifoldVertices())); public TSplineVertex[] BorderVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_BorderVertices())); public TSplineVertex[] InnerVertices => Track(TSplineVertex.Wrap(TSplineTopologyEntity.get_InnerVertices())); public TSplineEdge[] NonManifoldEdges => Track(TSplineEdge.Wrap(TSplineTopologyEntity.get_NonManifoldEdges())); public TSplineEdge[] BorderEdges => Track(TSplineEdge.Wrap(TSplineTopologyEntity.get_BorderEdges())); public TSplineEdge[] InnerEdges => Track(TSplineEdge.Wrap(TSplineTopologyEntity.get_InnerEdges())); public TSplineFace[] RegularFaces => Track(TSplineFace.Wrap(TSplineTopologyEntity.get_RegularFaces())); public TSplineFace[] NGonFaces => Track(TSplineFace.Wrap(TSplineTopologyEntity.get_NGonFaces())); public TSplineFace[] BorderFaces => Track(TSplineFace.Wrap(TSplineTopologyEntity.get_BorderFaces())); public TSplineFace[] InnerFaces => Track(TSplineFace.Wrap(TSplineTopologyEntity.get_InnerFaces())); public int VerticesCount => TSplineTopologyEntity.get_VerticesCount(); public int EdgesCount => TSplineTopologyEntity.get_EdgesCount(); public int FacesCount => TSplineTopologyEntity.get_FacesCount(); internal TSplineTopology(ITSplineTopologyEntity host) : base(host) { } public override string ToString() { string[] obj = new string[7] { "TSplineTopology(VerticesCount = ", null, null, null, null, null, null }; int num = VerticesCount; obj[1] = num.ToString(); obj[2] = ", EdgesCount = "; num = EdgesCount; obj[3] = num.ToString(); obj[4] = ", FacesCount = "; num = FacesCount; obj[5] = num.ToString(); obj[6] = ")"; return string.Concat(obj); } internal new static void InitType() { Geometry.RegisterHostType(typeof(ITSplineTopologyEntity), (IGeometryEntity host) => new TSplineTopology(host as ITSplineTopologyEntity)); } internal static TSplineTopology Wrap(ITSplineTopologyEntity host) { return Geometry.Wrap(host, null) as TSplineTopology; } internal static TSplineTopology[] Wrap(ITSplineTopologyEntity[] hosts) { return (from x in hosts select Wrap(x)).ToArray(); } internal static TSplineTopology[][] Wrap(ITSplineTopologyEntity[][] hosts) { return (from x in hosts select Wrap(x)).ToArray(); } internal static ITSplineTopologyEntity[][] Unwrap(TSplineTopology[][] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static ITSplineTopologyEntity[] Unwrap(TSplineTopology[] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static ITSplineTopologyEntity[] Unwrap(IEnumerable<TSplineTopology> o) { return (from x in o select Unwrap(x)).ToArray(); } internal static ITSplineTopologyEntity Unwrap(TSplineTopology o) { return o.TSplineTopologyEntity; } [MultiReturn(new string[] { "all", "regular", "tPoints", "starPoints", "nonManifold", "border", "inner" })] public Dictionary<string, TSplineVertex[]> DecomposedVertices() { Dictionary<string, TSplineVertex[]> dictionary = new Dictionary<string, TSplineVertex[]>(); foreach (KeyValuePair<string, ITSplineVertexEntity[]> item in TSplineTopologyEntity.DecomposedVertices()) { dictionary[item.Key] = Track(TSplineVertex.Wrap(item.Value)); } return dictionary; } [MultiReturn(new string[] { "all", "nonManifold", "border", "inner" })] public Dictionary<string, TSplineEdge[]> DecomposedEdges() { Dictionary<string, TSplineEdge[]> dictionary = new Dictionary<string, TSplineEdge[]>(); foreach (KeyValuePair<string, ITSplineEdgeEntity[]> item in TSplineTopologyEntity.DecomposedEdges()) { dictionary[item.Key] = Track(TSplineEdge.Wrap(item.Value)); } return dictionary; } [MultiReturn(new string[] { "all", "regular", "nGons", "border", "inner" })] public Dictionary<string, TSplineFace[]> DecomposedFaces() { Dictionary<string, TSplineFace[]> dictionary = new Dictionary<string, TSplineFace[]>(); foreach (KeyValuePair<string, ITSplineFaceEntity[]> item in TSplineTopologyEntity.DecomposedFaces()) { dictionary[item.Key] = Track(TSplineFace.Wrap(item.Value)); } return dictionary; } public TSplineVertex VertexByIndex(int index) { return Track(TSplineVertex.Wrap(TSplineTopologyEntity.VertexByIndex(index))); } public TSplineEdge EdgeByIndex(int index) { return Track(TSplineEdge.Wrap(TSplineTopologyEntity.EdgeByIndex(index))); } public TSplineFace FaceByIndex(int index) { return Track(TSplineFace.Wrap(TSplineTopologyEntity.FaceByIndex(index))); } } }