void TriangleMesh::write(std::ofstream& file) { int type = TRIANGLE_MESH; file.write((char*)&type,sizeof(int)); file.write((char*)&numTimeSteps,sizeof(int)); int numVerts = numVertices(); file.write((char*)&numVerts,sizeof(int)); int numTriangles = triangles.size(); file.write((char*)&numTriangles,sizeof(int)); for (size_t j=0; j<numTimeSteps; j++) { while ((file.tellp() % 16) != 0) { char c = 0; file.write(&c,1); } for (size_t i=0; i<numVerts; i++) file.write((char*)vertexPtr(i,j),sizeof(Vec3fa)); } while ((file.tellp() % 16) != 0) { char c = 0; file.write(&c,1); } for (size_t i=0; i<numTriangles; i++) file.write((char*)&triangle(i),sizeof(Triangle)); }
void QuadMesh::write(std::ofstream& file) { int type = QUAD_MESH; file.write((char*)&type,sizeof(int)); file.write((char*)&numTimeSteps,sizeof(int)); int numVerts = numVertices(); file.write((char*)&numVerts,sizeof(int)); int numQuads = quads.size(); file.write((char*)&numQuads,sizeof(int)); for (size_t j=0; j<numTimeSteps; j++) { while ((file.tellp() % 16) != 0) { char c = 0; file.write(&c,1); } for (size_t i=0; i<numVerts; i++) file.write((char*)vertexPtr(i,j),sizeof(Vec3fa)); } while ((file.tellp() % 16) != 0) { char c = 0; file.write(&c,1); } for (size_t i=0; i<numQuads; i++) file.write((char*)&quad(i),sizeof(Quad)); }