From 854cb6571e100b4259ca70861a226a0d8a14c2c1 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@fe.uni-lj.si>
Date: Mon, 15 Feb 2016 14:22:04 +0000
Subject: [PATCH] First attempt to add additional info to the vtu files as formatted xml. Pegs are still missing, however the vesicle is done

---
 src/io.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/io.c b/src/io.c
index f9b0164..e7461d6 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){
@@ -24,7 +25,7 @@
     FILE *fh=fopen(command_line_args.dump_fullfilename,"wb");
 
     /* dump vesicle */
-    fwrite(vesicle, sizeof(ts_vesicle),1,fh);
+    fwrite(vesicle, sizeof(ts_vesicle)-sizeof(ts_double),1,fh);
     /* dump vertex list */
     fwrite(vesicle->vlist, sizeof(ts_vertex_list),1,fh);
     /* dump bond list */
@@ -201,7 +202,7 @@
 /* we restore all the data from the dump */
     /* restore vesicle */
     ts_vesicle *vesicle=(ts_vesicle *)calloc(1,sizeof(ts_vesicle));
-    retval=fread(vesicle, sizeof(ts_vesicle),1,fh);
+    retval=fread(vesicle, sizeof(ts_vesicle)-sizeof(ts_double),1,fh);
 //	fprintf(stderr,"was here! %e\n",vesicle->dmax);
 
     /* restore vertex list */
@@ -454,6 +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},
            {0, 0, 0, 0}
          };
        /* getopt_long stores the option index here. */
@@ -479,6 +481,9 @@
             //TODO: find a better way.
             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){
+                strcpy(command_line_args.dump_from_vtk,optarg);
             }
            break;
 
@@ -820,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++){
@@ -1008,6 +1015,7 @@
         CFG_SIMPLE_FLOAT("xk0",&tape->xk0),
 	CFG_SIMPLE_INT("pswitch",&tape->pswitch),
 	CFG_SIMPLE_INT("constvolswitch",&tape->constvolswitch),
+	CFG_SIMPLE_INT("constareaswitch",&tape->constareaswitch),
 	CFG_SIMPLE_FLOAT("constvolprecision",&tape->constvolprecision),
 	CFG_SIMPLE_FLOAT("pressure",&tape->pressure),
 	CFG_SIMPLE_FLOAT("k_spring",&tape->kspring),

--
Gitblit v1.9.3