DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

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

 RenderPackage

using Autodesk.DesignScript.Interfaces; using System; using System.Collections.Generic; using System.Linq; namespace Dynamo.DSEngine { public class RenderPackage : IRenderPackage, IDisposable { private IntPtr nativeRenderPackage; private List<double> lineStripVertices = new List<double>(); private List<byte> lineStripVertexColors = new List<byte>(); private List<int> lineStripVertexCounts = new List<int>(); private List<double> pointVertices = new List<double>(); private List<byte> pointVertexColors = new List<byte>(); private List<double> triangleVertices = new List<double>(); private List<byte> triangleVertexColor = new List<byte>(); private List<double> triangleNormals = new List<double>(); public bool Selected { get; set; } public bool DisplayLabels { get; set; } public string Tag { get; set; } public List<double> LineStripVertices { get { return lineStripVertices; } set { lineStripVertices = value; } } public List<double> PointVertices { get { return pointVertices; } set { pointVertices = value; } } public List<double> TriangleVertices { get { return triangleVertices; } set { triangleVertices = value; } } public List<double> TriangleNormals { get { return triangleNormals; } set { triangleNormals = value; } } public List<byte> LineStripVertexColors { get { return lineStripVertexColors; } set { lineStripVertexColors = value; } } public List<int> LineStripVertexCounts { get { return lineStripVertexCounts; } set { lineStripVertexCounts = value; } } public List<byte> PointVertexColors { get { return pointVertexColors; } set { pointVertexColors = value; } } public List<byte> TriangleVertexColors { get { return triangleVertexColor; } set { triangleVertexColor = value; } } public int ItemsCount { get; set; } public IntPtr NativeRenderPackage => nativeRenderPackage; public RenderPackage() { Tag = string.Empty; ItemsCount = 0; } public RenderPackage(bool selected, bool displayLabels) { Selected = selected; DisplayLabels = displayLabels; Tag = string.Empty; ItemsCount = 0; } public void Clear() { lineStripVertices.Clear(); lineStripVertexColors.Clear(); lineStripVertexCounts.Clear(); pointVertices.Clear(); pointVertexColors.Clear(); triangleVertices.Clear(); triangleVertexColor.Clear(); triangleNormals.Clear(); Tag = string.Empty; ItemsCount = 0; } public void PushLineStripVertex(double x, double y, double z) { lineStripVertices.Add(x); lineStripVertices.Add(y); lineStripVertices.Add(z); } public void PushLineStripVertexColor(byte red, byte green, byte blue, byte alpha) { lineStripVertexColors.Add(red); lineStripVertexColors.Add(green); lineStripVertexColors.Add(blue); lineStripVertexColors.Add(alpha); } public void PushLineStripVertexCount(int n) { lineStripVertexCounts.Add(n); } public void PushPointVertex(double x, double y, double z) { pointVertices.Add(x); pointVertices.Add(y); pointVertices.Add(z); } public void PushPointVertexColor(byte red, byte green, byte blue, byte alpha) { pointVertexColors.Add(red); pointVertexColors.Add(green); pointVertexColors.Add(blue); pointVertexColors.Add(alpha); } public void PushTriangleVertex(double x, double y, double z) { triangleVertices.Add(x); triangleVertices.Add(y); triangleVertices.Add(z); } public void PushTriangleVertexColor(byte red, byte green, byte blue, byte alpha) { triangleVertexColor.Add(red); triangleVertexColor.Add(green); triangleVertexColor.Add(blue); triangleVertexColor.Add(alpha); } public void PushTriangleVertexNormal(double x, double y, double z) { triangleNormals.Add(x); triangleNormals.Add(y); triangleNormals.Add(z); } public void Dispose() { } public bool IsNotEmpty() { return lineStripVertices.Any() || pointVertices.Any() || triangleVertices.Any(); } } }