From 720bd4fb98f2537dcca54f538dd85f63f8320c10 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Wed, 02 Mar 2016 15:46:38 +0000 Subject: [PATCH] Updated README --- src/io.c | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/io.c b/src/io.c index f913762..8e97a8f 100644 --- a/src/io.c +++ b/src/io.c @@ -15,6 +15,7 @@ #include <sys/types.h> #include <dirent.h> #include <errno.h> +#include <snapshot.h> /** DUMP STATE TO DISK DRIVE **/ ts_bool dump_state(ts_vesicle *vesicle, ts_uint iteration){ @@ -454,7 +455,7 @@ {"dump-filename", required_argument,0, 'f'}, {"tape-options",required_argument,0,'c'}, {"tape-template", required_argument,0,0}, - {"dump-from-vtk",required_argument,0,0}, + {"restore-from-vtk",required_argument,0,0}, {0, 0, 0, 0} }; /* getopt_long stores the option index here. */ @@ -481,7 +482,7 @@ if(strcmp(long_options[option_index].name,"tape-template")==0){ strcpy(command_line_args.tape_templatefull,optarg); } - if(strcmp(long_options[option_index].name,"dump-from-vtk")==0){ + if(strcmp(long_options[option_index].name,"restore-from-vtk")==0){ strcpy(command_line_args.dump_from_vtk,optarg); } break; @@ -824,7 +825,9 @@ } } - fprintf(fh, "<?xml version=\"1.0\"?>\n<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" compressor=\"vtkZLibDataCompressor\">\n <UnstructuredGrid>\n"); + fprintf(fh, "<?xml version=\"1.0\"?>\n<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" compressor=\"vtkZLibDataCompressor\">\n"); + 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)); fprintf(fh,"<PointData Scalars=\"scalars\">\n<DataArray type=\"Int64\" Name=\"scalars\" format=\"ascii\">"); for(i=0;i<vlist->n;i++){ @@ -997,6 +1000,20 @@ ts_tape *parsetape(char *filename){ + FILE *fd = fopen (filename, "r"); + long length; + size_t size; + fseek (fd, 0, SEEK_END); + length = ftell (fd); + fseek (fd, 0, SEEK_SET); + size=fread (tapetxt, 1, length, fd); + fclose(fd); + if(size); + ts_tape *tape=parsetapebuffer(tapetxt); + return tape; +} + +ts_tape *parsetapebuffer(char *buffer){ ts_tape *tape=(ts_tape *)calloc(1,sizeof(ts_tape)); tape->multiprocessing=calloc(255,sizeof(char)); @@ -1035,7 +1052,7 @@ cfg_t *cfg; ts_uint retval; cfg = cfg_init(opts, 0); - retval=cfg_parse(cfg, filename); + retval=cfg_parse_buf(cfg, buffer); if(retval==CFG_FILE_ERROR){ fatal("No tape file.",100); } -- Gitblit v1.9.3