// // File: x3d_mesh.cc // // (C) 2006 Toby Breckon // // Licensed under the terms of the Lesser General Public License. // #include "timeval.h" #include "x3d_mesh.h" int X3D_Mesh::read(FILE *f, int (*update)(int pos), void (*set_total)(int size)) { return 1; } void X3D_Mesh::write(FILE *f, const char *comment) { int n; list::iterator it; list::iterator iv; Vertex v; // get the time for the header (and remove newline) time_t timer; timer=time(NULL); char * timestring = ctime(&timer); timestring[strlen(timestring) - 1] = '\0'; fprintf(f, "\n"); fprintf(f, "\n"); fprintf(f,"\n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n", timestring); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," begin(); iv != vertices->end(); iv++) { (*iv)->number=++n; } // triangle output for (it=triangles->begin(); it != triangles->end(); it++) { fprintf(f,"%d %d %d -1 ", ((*it)->vertices[0]->number) - 1, ((*it)->vertices[1]->number) - 1, ((*it)->vertices[2]->number) - 1); } fprintf(f,"\">\n"); fprintf(f,"begin(); *iv != vertices->back(); iv++) { calc_original_coordinates(*iv, &v); fprintf(f,"%f %f %f, ", v.x(), v.y(), v.z()); (*iv)->number=++n; } fprintf(f,"%f %f %f ", v.x(), v.y(), v.z()); fprintf(f," \" />\n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f," \n"); fprintf(f,"\n"); fprintf(f,"\n"); }