ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/xyz2pov/src/xyz2pov.c
(Generate patch)

Comparing trunk/xyz2pov/src/xyz2pov.c (file contents):
Revision 625 by gezelter, Wed Jul 16 19:29:54 2003 UTC vs.
Revision 649 by mmeineke, Thu Jul 24 15:50:41 2003 UTC

# Line 51 | Line 51 | int main(argc, argv)
51    double diagonal; /* the diagonal length of the sim box */
52  
53    unsigned int n_atoms; /*the number of atoms in each time step */
54 <  char read_buffer[120]; /*the line buffer for reading */
54 >  char read_buffer[2000]; /*the line buffer for reading */
55    char *eof_test; /*ptr to see when we reach the end of the file */
56    char *foo; /*the pointer to the current string token */
57    FILE *in_file; /* the input file */
# Line 271 | Line 271 | int main(argc, argv)
271      out_prefix = strtok(in_name, ".");
272    }
273  
274 <  sprintf( out_format, "%s%s%%0%dd.pov", pov_dir, out_prefix, nZeroes );
274 >  sprintf( out_format, "%s%s-%%0%dd.pov", pov_dir, out_prefix, nZeroes );
275  
276    // start reading the first frame
277  
# Line 303 | Line 303 | int main(argc, argv)
303      if( draw_box ){
304        foo = strtok(read_buffer, " ,;\t");
305        if(foo == NULL){
306 <        printf("error in reading file\n");
306 >        printf("error in reading file time\n");
307          exit(8);
308        }
309        
310        foo = strtok(NULL, " ,;\t");
311        if(foo == NULL){
312 <        printf("error in reading file\n");
312 >        printf("error in reading file h00\n");
313          exit(8);
314        }
315        current_frame->Hmat[0][0] = atof( foo );
316  
317        foo = strtok(NULL, " ,;\t");
318        if(foo == NULL){
319 <        printf("error in reading file\n");
319 >        printf("error in reading file h10\n");
320          exit(8);
321        }
322        current_frame->Hmat[1][0] = atof( foo );
323  
324        foo = strtok(NULL, " ,;\t");
325        if(foo == NULL){
326 <        printf("error in reading file\n");
326 >        printf("error in reading file h20\n");
327          exit(8);
328        }
329        current_frame->Hmat[2][0] = atof( foo );
330  
331        foo = strtok(NULL, " ,;\t");
332        if(foo == NULL){
333 <        printf("error in reading file\n");
333 >        printf("error in reading file h01\n");
334          exit(8);
335        }
336        current_frame->Hmat[0][1] = atof( foo );
337  
338        foo = strtok(NULL, " ,;\t");
339        if(foo == NULL){
340 <        printf("error in reading file\n");
340 >        printf("error in reading file h11\n");
341          exit(8);
342        }
343        current_frame->Hmat[1][1] = atof( foo );
344  
345        foo = strtok(NULL, " ,;\t");
346        if(foo == NULL){
347 <        printf("error in reading file\n");
347 >        printf("error in reading file h21\n");
348          exit(8);
349        }
350        current_frame->Hmat[2][1] = atof( foo );
351  
352        foo = strtok(NULL, " ,;\t");
353        if(foo == NULL){
354 <        printf("error in reading file\n");
354 >        printf("error in reading file h02\n");
355          exit(8);
356        }
357        current_frame->Hmat[0][2] = atof( foo );
358  
359        foo = strtok(NULL, " ,;\t");
360        if(foo == NULL){
361 <        printf("error in reading file\n");
361 >        printf("error in reading file h12\n");
362          exit(8);
363        }
364        current_frame->Hmat[1][2] = atof( foo );
365  
366        foo = strtok(NULL, " ,;\t");
367        if(foo == NULL){
368 <        printf("error in reading file\n");
368 >        printf("error in reading file h22\n");
369          exit(8);
370        }
371        current_frame->Hmat[2][2] = atof( foo );
# Line 376 | Line 376 | int main(argc, argv)
376        
377        eof_test = fgets(read_buffer, sizeof(read_buffer), in_file);
378        if(eof_test == NULL){
379 <        printf("error in reading file\n");
379 >        printf("error in reading file line at atom %d\n", i);
380          exit(8);
381        }
382  
383        foo = strtok(read_buffer, " ,;\t");
384        if(foo == NULL){
385 <        printf("error in reading file\n");
385 >        printf("error in reading atom %d name\n", i);
386          exit(8);
387        }
388        (void)strcpy(current_frame->r[i].name, foo); /*copy the atom name */
# Line 391 | Line 391 | int main(argc, argv)
391        
392        foo = strtok(NULL, " ,;\t");
393        if(foo == NULL){
394 <        printf("error in reading file\n");
394 >        printf("error in reading atom %d position x\n", i);
395          exit(8);
396        }
397        (void)sscanf(foo, "%lf",&current_frame->r[i].x);
# Line 401 | Line 401 | int main(argc, argv)
401    
402        foo = strtok(NULL, " ,;\t");
403        if(foo == NULL){
404 <        printf("error in reading file\n");
404 >        printf("error in reading atom %d position y\n", i);
405          exit(8);
406        }
407        (void)sscanf(foo, "%lf", &current_frame->r[i].y);
# Line 411 | Line 411 | int main(argc, argv)
411  
412        foo = strtok(NULL, " ,;\t");
413        if(foo == NULL){
414 <        printf("error in reading file\n");
414 >        printf("error in reading atom %d position z\n", i);
415          exit(8);
416        }
417        (void)sscanf(foo, "%lf", &current_frame->r[i].z);
# Line 457 | Line 457 | int main(argc, argv)
457                       "makePeriodicBox( %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf)\n"
458                       "\n",
459                       temp_frame->Hmat[0][0] + dm[0][0] * (i+1),
460                     temp_frame->Hmat[1][0] + dm[1][0] * (i+1),
460                       temp_frame->Hmat[2][0] + dm[2][0] * (i+1),
461 +                     temp_frame->Hmat[1][0] + dm[1][0] * (i+1),
462                       temp_frame->Hmat[0][1] + dm[0][1] * (i+1),
463                     temp_frame->Hmat[1][1] + dm[1][1] * (i+1),
463                       temp_frame->Hmat[2][1] + dm[2][1] * (i+1),
464 +                     temp_frame->Hmat[1][1] + dm[1][1] * (i+1),
465                       temp_frame->Hmat[0][2] + dm[0][2] * (i+1),
466 <                     temp_frame->Hmat[1][2] + dm[1][2] * (i+1),
467 <                     temp_frame->Hmat[2][2] + dm[2][2] * (i+1) );
466 >                     temp_frame->Hmat[2][2] + dm[2][2] * (i+1),
467 >                     temp_frame->Hmat[1][2] + dm[1][2] * (i+1) );
468            }
469            
470            
# Line 511 | Line 511 | int main(argc, argv)
511        if( draw_box ){
512          
513          fprintf( out_file,
514 <                 "makePeriodicBox( %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf %lf )\n"
514 >                 "makePeriodicBox( %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf )\n"
515                   "\n",
516                   current_frame->Hmat[0][0],
517                 current_frame->Hmat[1][0],
517                   current_frame->Hmat[2][0],
518 +                 current_frame->Hmat[1][0],
519                   current_frame->Hmat[0][1],
520                 current_frame->Hmat[1][1],
520                   current_frame->Hmat[2][1],
521 +                 current_frame->Hmat[1][1],
522                   current_frame->Hmat[0][2],
523 <                 current_frame->Hmat[1][2],
524 <                 current_frame->Hmat[2][2] );
523 >                 current_frame->Hmat[2][2],
524 >                 current_frame->Hmat[1][2] );
525        }
526        
527        
# Line 709 | Line 709 | int main(argc, argv)
709              "\n"
710              "#macro makePeriodicBox( bx1, by1, bz1, bx2, by2, bz2, bx3, by3, bz3 )\n"
711              "\n"
712 <            "  #local pAx = -boxCenterX;\n"
713 <            "  #local pAy = -boxCenterY;\n"
714 <            "  #local pAz = -boxCenterZ;\n"
715 <            "  #local pBx = bx1 - boxCenterX;\n"
716 <            "  #local pBy = by1 - boxCenterY;\n"
717 <            "  #local pBz = bz1 - boxCenterZ;\n"
718 <            "  #local pCx = bx2 - boxCenterX;\n"
719 <            "  #local pCy = by2 - boxCenterY;\n"
720 <            "  #local pCz = bz2 - boxCenterZ;\n"
721 <            "  #local pDx = bx3 - boxCenterX;\n"
722 <            "  #local pDy = by3 - boxCenterY;\n"
723 <            "  #local pDz = bz3 - boxCenterZ;\n"
724 <            "  #local pEx = bx1 + bx2 - boxCenterX;\n"
725 <            "  #local pEy = by1 + by2 - boxCenterY;\n"
726 <            "  #local pEz = bz1 + bz2 - boxCenterZ;\n"
727 <            "  #local pFx = bx1 + bx3 - boxCenterX;\n"
728 <            "  #local pFy = by1 + by3 - boxCenterY;\n"
729 <            "  #local pFz = bz1 + bz3 - boxCenterZ;\n"
730 <            "  #local pGx = bx2 + bx3 - boxCenterX;\n"
731 <            "  #local pGy = by2 + by3 - boxCenterY;\n"
732 <            "  #local pGz = bz2 + bz3 - boxCenterZ;\n"
733 <            "  #local pHx = bx1 + bx2 + bx3 - boxCenterX;\n"
734 <            "  #local pHy = by1 + by2 + by3 - boxCenterY;\n"
735 <            "  #local pHz = bz1 + bz2 + bz3 - boxCenterZ;\n"
712 >            "  #local bcx = (bx1 + bx2 + bx3) / 2.0;\n"
713 >            "  #local bcy = (by1 + by2 + by3) / 2.0;\n"
714 >            "  #local bcz = (bz1 + bz2 + bz3) / 2.0;\n"
715              "\n"
716 +            "  #local pAx = boxCenterX - bcx;\n"
717 +            "  #local pAy = boxCenterY - bcy;\n"
718 +            "  #local pAz = boxCenterZ - bcz;\n"
719 +            "  #local pBx = boxCenterX + bx1 - bcx;\n"
720 +            "  #local pBy = boxCenterY + by1 - bcy;\n"
721 +            "  #local pBz = boxCenterZ + bz1 - bcz;\n"
722 +            "  #local pCx = boxCenterX + bx2 - bcx;\n"
723 +            "  #local pCy = boxCenterY + by2 - bcy;\n"
724 +            "  #local pCz = boxCenterZ + bz2 - bcz;\n"
725 +            "  #local pDx = boxCenterX + bx3 - bcx;\n"
726 +            "  #local pDy = boxCenterY + by3 - bcy;\n"
727 +            "  #local pDz = boxCenterZ + bz3 - bcz;\n"
728 +            "  #local pEx = boxCenterX + bx1 + bx2 - bcx;\n"
729 +            "  #local pEy = boxCenterY + by1 + by2 - bcy;\n"
730 +            "  #local pEz = boxCenterZ + bz1 + bz2 - bcz;\n"
731 +            "  #local pFx = boxCenterX + bx1 + bx3 - bcx;\n"
732 +            "  #local pFy = boxCenterY + by1 + by3 - bcy;\n"
733 +            "  #local pFz = boxCenterZ + bz1 + bz3 - bcz;\n"
734 +            "  #local pGx = boxCenterX + bx2 + bx3 - bcx;\n"
735 +            "  #local pGy = boxCenterY + by2 + by3 - bcy;\n"
736 +            "  #local pGz = boxCenterZ + bz2 + bz3 - bcz;\n"
737 +            "  #local pHx = boxCenterX + bx1 + bx2 + bx3 - bcx;\n"
738 +            "  #local pHy = boxCenterY + by1 + by2 + by3 - bcy;\n"
739 +            "  #local pHz = boxCenterZ + bz1 + bz2 + bz3 - bcz;\n"
740 +            "\n"
741              "  #local colorR = 0.90;\n"
742              "  #local colorG = 0.91;\n"
743              "  #local colorB = 0.98;\n"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines