From bd826de2f539f2e48c8c01d2d7f9f34c7e97104a Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Fri, 13 May 2016 07:43:27 +0000
Subject: [PATCH] Fix in trisurf output, inhibiting print of successful reconstruction. Multiple fixes and improvements in python module. Added symlinking of tapes into the running directories and dumping tapes from snapshots into tape files.

---
 src/io.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/io.c b/src/io.c
index f913762..51ef836 100644
--- a/src/io.c
+++ b/src/io.c
@@ -1,3 +1,4 @@
+/* vim: set ts=4 sts=4 sw=4 noet : */
 #include "general.h"
 #include<stdio.h>
 #include "io.h"
@@ -15,6 +16,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 +456,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 +483,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 +826,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 +1001,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 +1053,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