BetaSpeckle.SuperMesh.SuperMesh C# (CSharp) Method

SuperMesh() public method

public SuperMesh ( GH_Mesh myMesh, string guid ) : Grasshopper.Kernel.Types
myMesh GH_Mesh
guid string
return Grasshopper.Kernel.Types
        public SuperMesh(GH_Mesh myMesh, string guid)
        {
            parentGuid = guid;

            data.uvs = "";
            data.normals = "";

            Mesh actualMesh = myMesh.Value;
            
            // COLOURS (if any)
            if (actualMesh.VertexColors.Count > 0)
            {
                data.vertexColors = new List<int>();
                type = "SPKL_ColorMesh";

                foreach (System.Drawing.Color c in actualMesh.VertexColors)
                {
                    c.ToString();
                    data.vertexColors.Add(ColorToInt(c));
                }
            }

            //  VERTICES
            data.vertices = new List<double>();
            foreach (Point3d vertex in actualMesh.Vertices)
            {
                data.vertices.Add(Math.Round(vertex.Y * 1, 3));
                data.vertices.Add(Math.Round(vertex.Z * 1, 3));
                data.vertices.Add(Math.Round(vertex.X * 1, 3));
            }

            // FACES
            data.faces = new List<int>();
            foreach (MeshFace face in actualMesh.Faces)
            {
                if (face.IsTriangle)
                {
                    data.faces.Add(0);
                    data.faces.Add(face.A);
                    data.faces.Add(face.B);
                    data.faces.Add(face.C);
                }
                else
                {
                    // some reason quad meshes say nono to shadows in threejs :(
                    data.faces.Add(0);
                    data.faces.Add(face.A);
                    data.faces.Add(face.B);
                    data.faces.Add(face.C);
                    data.faces.Add(0);
                    data.faces.Add(face.A);
                    data.faces.Add(face.C);
                    data.faces.Add(face.D);
                }
            }
        }