From 698ae18f535c3e388b6ebcdca1582005a29ff2f2 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@fe.uni-lj.si>
Date: Mon, 29 Feb 2016 11:52:16 +0000
Subject: [PATCH] Tape is in the dump and successfully restored.

---
 src/restore.c |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/restore.c b/src/restore.c
index aae6cb0..5db794e 100644
--- a/src/restore.c
+++ b/src/restore.c
@@ -14,12 +14,12 @@
 #include "energy.h"
 #include "poly.h"
 #include "initial_distribution.h"
+#include "io.h"
 
 ts_bool parseDump(char *dumpfname) {
 	xmlDocPtr doc;
 	xmlNodePtr cur, cur1,cur2;
 	ts_vesicle *vesicle=NULL;
-
 	doc = xmlParseFile(dumpfname);
 	
 	if (doc == NULL ) {
@@ -38,6 +38,11 @@
 	
 	cur = cur->xmlChildrenNode;
 	while (cur != NULL) {
+
+		if ((!xmlStrcmp(cur->name, (const xmlChar *)"tape"))){
+			setGlobalTapeTXTfromTapeTag(doc, cur);
+		}
+
 		if ((!xmlStrcmp(cur->name, (const xmlChar *)"trisurf"))){
 			vesicle=parseTrisurfTag(doc, cur);
 		}
@@ -84,6 +89,12 @@
 	return TS_SUCCESS;
 }
 
+ts_bool setGlobalTapeTXTfromTapeTag(xmlDocPtr doc, xmlNodePtr cur){
+	xmlChar *tape = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+	strcpy(tapetxt,(char *)tape);
+	xmlFree(tape);
+	return TS_SUCCESS;
+}
 
 
 /* this is a parser of additional data in xml */
@@ -129,8 +140,10 @@
 	nvtx = xmlGetProp(cur, (xmlChar *)"nvtx");
 	npoly=xmlGetProp(cur, (xmlChar *)"npoly");
 	nfono=xmlGetProp(cur, (xmlChar *)"nfono");
-	fprintf(stderr,"nvtx=%u\n",atoi((char *)nvtx));
-	ts_vesicle *vesicle=init_vesicle(atoi((char *)nvtx),10,10,10,0.1);
+	ts_tape *tape=parsetapebuffer(tapetxt);
+	//fprintf(stderr,"nvtx=%u\n",atoi((char *)nvtx));
+	//TODO: check if nvtx is in agreement with nshell from tape
+	ts_vesicle *vesicle=init_vesicle(atoi((char *)nvtx),tape->ncxmax,tape->ncymax,tape->nczmax,tape->stepsize);
 	//vesicle->poly_list=init_poly_list(atoi((char *)npoly),atoi((char *)nmono), vesicle->vlist, vesicle);
 	xmlFree(nvtx);
 	xmlFree(npoly);
@@ -155,6 +168,8 @@
 	}
 
 
+	vesicle->tape=tape;
+	set_vesicle_values_from_tape(vesicle);
 
 	return vesicle;
 }

--
Gitblit v1.9.3