From a8e8b1dbfb5873af8ccfc720a1d39c2b098fbcef Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Mon, 18 Sep 2017 20:43:42 +0000
Subject: [PATCH] Added simple wrapper functions for some most commonly used functions
---
trisurf/wrapper.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/trisurf/wrapper.py b/trisurf/wrapper.py
index 7fb1cca..35d0405 100644
--- a/trisurf/wrapper.py
+++ b/trisurf/wrapper.py
@@ -205,3 +205,47 @@
ts=CDLL('libtrisurf.so')
+
+
+
+#function call wrappers
+def create_vesicle_from_tape(tape):
+ """Using pointer for tape, it creates a vesicle, returning pointer to it."""
+ ts.create_vesicle_from_tape.argtype=POINTER(ts_tape)
+ ts.create_vesicle_from_tape.restype=POINTER(ts_vesicle)
+ return ts.create_vesicle_from_tape(tape)
+
+def parsetape(filename='tape'):
+ """Loads tape with filename (if not given it defaults to 'tape'). It returns a pointer to structure for tape"""
+ ts.parsetape.restype=POINTER(ts_tape)
+ ts.parsetape.argtype=[c_char_p]
+ return ts.parsetape(filename.encode('ascii'))
+
+def parseDump(filename):
+ """Loads a vtu file with 'filename' and creates a vesicle returning pointer to it"""
+ ts.parseDump.argtype=[c_char_p]
+ ts.parseDump.restype=POINTER(ts_vesicle)
+ vesicle=ts.parseDump(filename.encode('ascii'))
+ return vesicle
+
+def single_timestep(vesicle):
+ """Makes a single timestep in simulations. Returns a tuple of vmsrt and bfrt (vertex move success rate and bond flip success rate)"""
+ ts.single_timestep.argtype=[POINTER(ts_vesicle),POINTER(c_double),POINTER(c_double)]
+ vmsrt=c_double(0.0)
+ bfsrt=c_double(0.0)
+ ts.single_timestep(vesicle,byref(vmsrt),byref(bfsrt))
+ return (vmsrt.value, bfsrt.value)
+
+def write_vertex_xml_file(vesicle,timestep_no=0):
+ """Writes a vesicle into file with filename 'timestep_XXXXXX.vtu', where XXXXXX is a leading zeroed number given with timestep_no parameter (defaults to 0 if not given"""
+ ts.write_vertex_xml_file.argtypes=[POINTER(ts_vesicle),c_int]
+ ts.write_vertex_xml_file(vesicle,c_int(timestep_no))
+
+
+def vesicle_free(vesicle):
+ """Free memory of the whole vesicle"""
+ ts.vesicle_free.argtype=[POINTER(ts_vesicle)]
+ ts.vesicle_free(vesicle)
+
+
+
--
Gitblit v1.8.0