Trisurf Monte Carlo simulator
Samo Penic
2020-04-09 4f5ffcfd5ba38b6b7dd6d3b15de8bb8677537b9f
src/restore.c
@@ -394,28 +394,29 @@
         for(i=0,idx=0;i<data_len;i+=3,idx++){
//         while(token[0]!=NULL){
            if(idx<vesicle->vlist->n){
               vesicle->vlist->vtx[idx]->x=coords[idx];//atof(token[0]);
               vesicle->vlist->vtx[idx]->y=coords[idx+1];//atof(token[1]);
               vesicle->vlist->vtx[idx]->z=coords[idx+2];//atof(token[2]);
               vesicle->vlist->vtx[idx]->x=coords[i];//atof(token[0]);
               vesicle->vlist->vtx[idx]->y=coords[i+1];//atof(token[1]);
               vesicle->vlist->vtx[idx]->z=coords[i+2];//atof(token[2]);
            } else if(vesicle->tape->nmono && vesicle->tape->npoly && idx<vesicle->vlist->n+vesicle->tape->nmono*vesicle->tape->npoly) {
               polyidx=(idx-vesicle->vlist->n)/vesicle->tape->nmono;
               monoidx=(idx-vesicle->vlist->n)%vesicle->tape->nmono;
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->x=coords[idx];//atof(token[0]);
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->y=coords[idx+1];//atof(token[1]);
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->z=coords[idx+2];//atof(token[2]);
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->x=coords[i];//atof(token[0]);
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->y=coords[i+1];//atof(token[1]);
               vesicle->poly_list->poly[polyidx]->vlist->vtx[monoidx]->z=coords[i+2];//atof(token[2]);
            } else {
               filidx=(idx-vesicle->vlist->n-vesicle->tape->nmono*vesicle->tape->npoly)/vesicle->tape->nfono;
               fonoidx=(idx-vesicle->vlist->n-vesicle->tape->nmono*vesicle->tape->npoly)%vesicle->tape->nfono;
               //fprintf(stderr,"filidx=%d, fonoidx=%d, coord=%s,%s,%s\n",filidx,fonoidx,token[0],token[1],token[2]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->x=coords[idx];//atof(token[0]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->y=coords[idx+1];//atof(token[1]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->z=coords[idx+2];//atof(token[2]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->x=coords[i];//atof(token[0]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->y=coords[i+1];//atof(token[1]);
               vesicle->filament_list->poly[filidx]->vlist->vtx[fonoidx]->z=coords[i+2];//atof(token[2]);
            }
            //for(i=0;i<2;i++)   token[i]=strtok(NULL," ");   
            //token[2]=strtok(NULL,"\n");
            //idx++;
         }
         xmlFree(points);
         free(coords);
      }
      child=child->next;
   }
@@ -428,7 +429,7 @@
   xmlNodePtr child = cur->xmlChildrenNode;
   xmlChar *bonds, *conname;
//   char *b;
   int i,idx, polyidx;
   int idx, polyidx;
//   char *token[2];
//   int temp_cnt=0;
   while (child != NULL) {
@@ -440,7 +441,7 @@
         data_len=data_len/sizeof(unsigned long);
         //token[0]=strtok(b," ");
         //token[1]=strtok(NULL,"\n");
         for(i=0,idx=0;i<data_len;i+=2,idx++){
         for(idx=0;idx<data_len;idx+=2){
//         while(token[0]!=NULL){
            if(idx<3*(vesicle->vlist->n-2)){
               bond_add(vesicle->blist, vesicle->vlist->vtx[conn[idx]], vesicle->vlist->vtx[conn[idx+1]]);
@@ -461,6 +462,7 @@
            }
         }
         xmlFree(bonds);
         free(conn);
      }
      xmlFree(conname);
      child=child->next;