public static Mesh ToCore(this RG.Mesh mesh)
        {
            var vertices          = new List <Point3d>();
            var faceVertexIndexes = new List <List <int> >();

            foreach (Rhino.Geometry.Point3d vertex in mesh.Vertices)
            {
                vertices.Add(new Point3d(vertex.X, vertex.Y, vertex.Z));
            }

            foreach (var face in mesh.GetNgonAndFacesEnumerable())
            {
                var list = new List <int>();

                foreach (int i in face.BoundaryVertexIndexList())
                {
                    list.Add(i);
                }

                faceVertexIndexes.Add(list);
            }

            return(new Mesh(vertices, faceVertexIndexes));
        }