Trisurf Monte Carlo simulator
Samo Penic
2014-03-06 a37ba25eb9dc4b99ced8e8dcc3c36b9ed434a262
src/io.c
@@ -127,6 +127,8 @@
        poly_list->poly->bond
*/
   fwrite(vesicle->clist, sizeof(ts_cell_list),1,  fh);
    fclose(fh);
    return TS_SUCCESS;
}
@@ -170,11 +172,13 @@
    for(i=0;i<vesicle->tlist->n;i++){
        vesicle->tlist->tria[i]=(ts_triangle *)malloc(sizeof(ts_triangle));
}
  /*restore vertices*/
/* prerequisity. Vertices must be malloced before vertexes are recreated */
    vesicle->vlist->vtx=(ts_vertex **)calloc(vesicle->vlist->n,sizeof(ts_vertex *));
    for(i=0;i<vesicle->vlist->n;i++){
 for(i=0;i<vesicle->vlist->n;i++){
        vesicle->vlist->vtx[i]=(ts_vertex *)malloc(sizeof(ts_vertex));
 }
  /*restore vertices*/
    for(i=0;i<vesicle->vlist->n;i++){
        retval=fread(vesicle->vlist->vtx[i],sizeof(ts_vertex),1,fh);
        /*restore neigh, bond, tristar. Ignoring cell */
        vesicle->vlist->vtx[i]->neigh=(ts_vertex **)calloc(vesicle->vlist->vtx[i]->neigh_no, sizeof(ts_vertex *));
@@ -298,8 +302,14 @@
        }
    }
// recreating space for cells //
   vesicle->clist=(ts_cell_list *)malloc(sizeof(ts_cell_list));
   retval=fread(vesicle->clist, sizeof(ts_cell_list), 1,fh);
   vesicle->clist->cell=(ts_cell **)malloc(sizeof(ts_cell *)*vesicle->clist->ncmax[0]*vesicle->clist->ncmax[1]*vesicle->clist->ncmax[2]);
   for(i=0;i<vesicle->clist->ncmax[0]*vesicle->clist->ncmax[1]*vesicle->clist->ncmax[2];i++){
           vesicle->clist->cell[i]=(ts_cell *)calloc(1,sizeof(ts_cell));
           vesicle->clist->cell[i]->idx=i+1; // We enumerate cells! Probably never required!
       }
    if(retval); 
    fclose(fh);