From eb706bf094cb94104536cd1bb827828db672df5d Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sat, 09 Jul 2016 10:38:18 +0000 Subject: [PATCH] Merged the difference --- python/tape | 10 +- python/trisurf/tsmgr.py | 42 ------------- python/trisurf/VTKRendering.py | 76 +++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 45 deletions(-) diff --git a/python/tape b/python/tape index 53d9b82..35b52e6 100644 --- a/python/tape +++ b/python/tape @@ -1,6 +1,6 @@ ####### Vesicle definitions ########### # nshell is a number of divisions of dipyramid -nshell=5 +nshell=10 # dmax is the max. bond length (in units l_min) dmax=1.7 # dmin_interspecies in the min. dist. between different vertex species (in units l_min) @@ -17,15 +17,15 @@ pressure=0.0 #Constant volume constraint (0 disable constant volume, 1 enable wiht additional vertex move, 2 enable with epsvol) -constvolswitch=2 +constvolswitch=0 constvolprecision=1e-14 #Constant area constraint (0 disable constant area, 2 enable constant area with epsarea) -constareaswitch=2 +constareaswitch=0 ####### Polymer (brush) definitions ########### # npoly is a number of polymers attached to npoly distinct vertices on vesicle -npoly=2 +npoly=60 # nmono is a number of monomers in each polymer nmono=10 # Spring constant between monomers of the polymer @@ -63,7 +63,7 @@ ###### Spherical harmonics ########### # If 0 then spherical harmonics are not calculated at all. -spherical_harmonics_coefficients=21 +spherical_harmonics_coefficients=0 #shut up if we are using cluster!!! quiet=false diff --git a/python/trisurf/VTKRendering.py b/python/trisurf/VTKRendering.py new file mode 100644 index 0000000..213d959 --- /dev/null +++ b/python/trisurf/VTKRendering.py @@ -0,0 +1,76 @@ +import os,sys +from . import trisurf +if sys.version_info<(3,0): + from vtk import * + + +class Renderer: + def __init__(self,args,host): + self.host=host + self.args=args + self.renderer = vtkRenderer() + self.actor=self.lastActor() + self.textactor=self.textActor() + self.renderer.AddActor(self.actor) + self.renderer.AddActor(self.textactor) + self.renderer.SetBackground(0, 0, 0) # Set background to white + + # Create the RendererWindow + self.renderer_window = vtkRenderWindow() + self.renderer_window.AddRenderer(self.renderer) + +# Set up a check for aborting rendering. + # Create the RendererWindowInteractor and display the vtk_file + interactor = vtkRenderWindowInteractor() + interactor.SetRenderWindow(self.renderer_window) + interactor.Initialize() + interactor.AddObserver("TimerEvent", self.RenderUpdate) + timerIDR = interactor.CreateRepeatingTimer(1000) + interactor.Start() + + return + + def lastVTU(self): + Dir=trisurf.Directory(maindir=self.host['runs'][0].maindir,simdir=self.host['runs'][0].subdir) + filename=os.path.join("./",Dir.fullpath(),self.host['runs'][0].getLastVTU()) + return filename + + def textActor(self): + textactor=vtkTextActor() + textactor.SetInput(self.filename) + tp=textactor.GetTextProperty() + tp.SetColor(1,1,1) + tp.SetFontSize(18) + textactor.SetDisplayPosition(20,30) + return textactor + + def lastActor(self): + self.filename=self.lastVTU() + reader=vtkXMLUnstructuredGridReader() + reader.SetFileName(self.filename) + reader.Update() # Needed because of GetScalarRange + output = reader.GetOutput() + scalar_range = output.GetScalarRange() + mapper = vtkDataSetMapper() + mapper.SetInput(output) + mapper.SetScalarRange(scalar_range) + + # Create the Actor + actor = vtkActor() + actor.SetMapper(mapper) + return actor + + + def RenderUpdate(self, obj, event): + if(self.lastVTU()!=self.filename): + #print("updejt") + self.renderer.RemoveActor(self.actor) + self.renderer.RemoveActor(self.textactor) + self.actor=self.lastActor() + self.textactor=self.textActor() + self.renderer.AddActor(self.actor) + self.renderer.AddActor(self.textactor) + self.renderer_window.Render() + #self.render.RemoveActor(self.actor) + + return diff --git a/python/trisurf/tsmgr.py b/python/trisurf/tsmgr.py index ac5c8f2..d973360 100644 --- a/python/trisurf/tsmgr.py +++ b/python/trisurf/tsmgr.py @@ -15,6 +15,7 @@ else: from urlparse import urlparse from vtk import * + from . import VTKRendering #import io @@ -203,50 +204,11 @@ def preview_vtu(args,host): #only for localhost at the moment - Dir=trisurf.Directory(maindir=host['runs'][0].maindir,simdir=host['runs'][0].subdir) - filename=os.path.join("./",Dir.fullpath(),host['runs'][0].getLastVTU()) - print(filename) if sys.version_info>=(3,0): print("Preview works only with python 2.7") exit(1) if host['name'] == socket.gethostname(): - target_runs=getTargetRunIdxList(args) - #if target_runs==None: - # target_runs=list(range(1,len(host['runs'])+1)) - #for i in target_runs: - # host['runs'][i-1].start() - reader=vtkXMLUnstructuredGridReader() - reader.SetFileName(filename) - reader.Update() # Needed because of GetScalarRange - output = reader.GetOutput() - scalar_range = output.GetScalarRange() - - # Create the mapper that corresponds the objects of the vtk file - # into graphics elements - mapper = vtkDataSetMapper() - mapper.SetInput(output) - mapper.SetScalarRange(scalar_range) - - # Create the Actor - actor = vtkActor() - actor.SetMapper(mapper) - - # Create the Renderer - renderer = vtkRenderer() - renderer.AddActor(actor) - renderer.SetBackground(0, 0, 0) # Set background to white - - # Create the RendererWindow - renderer_window = vtkRenderWindow() - renderer_window.AddRenderer(renderer) - - # Create the RendererWindowInteractor and display the vtk_file - interactor = vtkRenderWindowInteractor() - interactor.SetRenderWindow(renderer_window) - interactor.Initialize() - interactor.Start() - - + VTKRendering.Renderer(args,host) def getListOfHostConfigurationByHostname(hosts,host): rhost=[] -- Gitblit v1.9.3