void CollectionDiffuseDynamicGraph::SaveConservationAsFile(const VKString & outFile, double * consDataIN) { int nPoints = m_pDB->NGlobalPnts(); double * consData = consDataIN; if (consDataIN==NULL) { consData = new double[nPoints]; ComputeConservation(consData); } FILE * file = fopen(outFile.c_str(), "wb"); assert(file!=NULL); fwrite(&nPoints, sizeof(int), 1, file); int * modelIDs = new int[nPoints]; int * vertexIDs = new int [nPoints]; for (int i=0; iGetPoint(i); modelIDs[i] = p.GetModel()->ModelID(); bool atVtx; vertexIDs[i] = p.NearestVertex(&atVtx); assert(atVtx); } fwrite(&nPoints, sizeof(int), 1, file); fwrite(modelIDs, sizeof(int), nPoints, file); fwrite(vertexIDs, sizeof(int), nPoints, file); fwrite(consData, sizeof(double), nPoints, file); fclose(file); delete [] modelIDs; delete [] vertexIDs; if (consDataIN==NULL) delete [] consData; }