void write_voxel_grid( const char* filename, const VoxelGrid& grid) { FILE* file = fopen(filename, "wt"); if (file == 0) return; const size_t xres = grid.get_xres(); const size_t yres = grid.get_yres(); const size_t zres = grid.get_zres(); const size_t channel_count = grid.get_channel_count(); for (size_t z = 0; z < zres; ++z) { fprintf(file, "z " FMT_SIZE_T "\n\n", z); for (size_t y = 0; y < yres; ++y) { for (size_t x = 0; x < xres; ++x) { if (x > 0) fprintf(file, " "); const float* voxel = grid.voxel(x, y, z); for (size_t i = 0; i < channel_count; ++i) { if (i > 0) fprintf(file, ","); fprintf(file, "%f", voxel[i]); } } fprintf(file, "\n"); } fprintf(file, "\n"); } fclose(file); }