private static int GetIndexOfClosestColoredVertex(Mesh mesh, Point3f position) { (int index, double distance)searchResult = (-1, float.PositiveInfinity); for (var i = 0; i < mesh.Vertices.Count; i++) { //skip vertices with no color if (mesh.VertexColors[i].A == 0) { continue; } var distance = position.DistanceTo(mesh.Vertices[i]); if (distance < searchResult.distance) { searchResult = (i, distance); } } return(searchResult.index); }