Trisurf Monte Carlo simulator
Samo Penic
2019-10-18 a69203a95d66595b80891aafc1ca8a59303290d0
src/io.c
@@ -254,17 +254,25 @@
   xml_trisurf_data(fh,vesicle);
   fprintf(fh, " <UnstructuredGrid>\n");
    fprintf(fh, "<Piece NumberOfPoints=\"%u\" NumberOfCells=\"%u\">\n",vlist->n+monono*polyno+fonono*filno, blist->n+monono*polyno+filno*(fonono-1)+vesicle->tlist->n);
    fprintf(fh,"<PointData Scalars=\"vertices_idx\">\n<DataArray type=\"Int64\" Name=\"vertices_idx\" format=\"ascii\">");
    fprintf(fh,"<PointData Scalars=\"vertices_idx\">\n<DataArray type=\"Int64\" Name=\"vertices_idx\" format=\"binary\">");
   long *int_vector=(long *)malloc((vlist->n+monono*polyno+fonono*filno)*sizeof(long));
// sizes are as expected 4 bytes for int and 1 byte for char
//   printf("size of ts_uint %ld, of int %ld, of char %ld",sizeof(ts_uint), sizeof(int), sizeof(char));
   int offset=0;
      for(i=0;i<vlist->n;i++){
      fprintf(fh,"%u ",vtx[i]->idx);
   //   fprintf(fh,"%u ",vtx[i]->idx);
      int_vector[i+offset]=vtx[i]->idx;
    }
   offset=offset+i;
   //polymeres
   if(poly){
      poly_idx=vlist->n;
      for(i=0;i<vesicle->poly_list->n;i++){
         for(j=0;j<vesicle->poly_list->poly[i]->vlist->n;j++,poly_idx++){
            fprintf(fh,"%u ", poly_idx);
            //fprintf(fh,"%u ", poly_idx);
            int_vector[j+offset]=poly_idx;
         }
         offset=offset+j;
      }
   }
   //filaments
@@ -273,10 +281,16 @@
      for(i=0;i<vesicle->filament_list->n;i++){
         for(j=0;j<vesicle->filament_list->poly[i]->vlist->n;j++,poly_idx++){
   //   fprintf(stderr,"was here\n");
            fprintf(fh,"%u ", poly_idx);
            //fprintf(fh,"%u ", poly_idx);
            int_vector[j+offset]=poly_idx;
         }
         offset=offset+j;
      }
   }
   printf("Offset in the end is %d, should be %d",offset,(vlist->n+monono*polyno+fonono*filno) );
   char *printout=ts_compress((char *)int_vector,offset*sizeof(long), offset);
   fprintf(fh,"%s",printout);
   free(printout);
       fprintf(fh,"</DataArray>\n");
   if(cstlist!=NULL){