Python wrapper for running instances of trisurf-ng
Samo Penic
2017-01-14 f49271578b8fac02db14966e7aab121879f9b736
VTK rendering fixed. also, getLastVTU has been changed.
3 files modified
45 ■■■■■ changed files
trisurf/VTKRendering.py 22 ●●●●● patch | view | raw | blame | history
trisurf/trisurf.py 10 ●●●●● patch | view | raw | blame | history
trisurf/tsmgr.py 13 ●●●●● patch | view | raw | blame | history
trisurf/VTKRendering.py
@@ -80,9 +80,10 @@
class Renderer:
    def __init__(self,args,host):
    def __init__(self,args,host,run):
        self.host=host
        self.args=args
        self.run=run
        self.renderer = vtkRenderer()
        self.actor=self.lastActor()
        self.textactor=self.textActor()
@@ -94,24 +95,27 @@
        self.renderer_window.AddRenderer(self.renderer)
        self.renderer_window.SetSize(1200,600)
    
        self.renderer.SetViewport(0.0,0.0,0.5,1.0)
        rend=vtk.vtkRenderer()
        rend.AddActor(self.actor)
        rend.SetViewport(0.5,0.0,1.0,1.0)
        self.renderer_window.AddRenderer(rend)
#        self.renderer.SetViewport(0.0,0.0,0.5,1.0)
#        rend=vtk.vtkRenderer()
#        rend.AddActor(self.actor)
#        rend.SetViewport(0.5,0.0,1.0,1.0)
#        self.renderer_window.AddRenderer(rend)
# 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)
        timerIDR = interactor.CreateRepeatingTimer(10000)
        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())
        #Dir=trisurf.Directory(maindir=self.host['runs'][self.run].maindir,simdir=self.host['runs'][self.run].subdir)
        Dir=self.run.Dir
        #print(self.run.getLastVTU())
        filename=os.path.join("./",Dir.fullpath(),self.run.getLastVTU())
        #filename=os.path.join("./",Dir.fullpath(),self.host['runs'][self.run].getLastVTU())
        return filename
    def textActor(self):
trisurf/trisurf.py
@@ -516,13 +516,21 @@
        self.Comment.writefile(data,mode=mode)
    def getLastVTU(self):
    def getLastVTUold(self):
        vtuidx=self.getLastIteration()-int(self.Tape.getValue("inititer"))
        if vtuidx<0:
            return None
        else:
            return  'timestep_{:06d}.vtu'.format(vtuidx)
    def getLastVTU(self):
        flist=[]
        for file in os.listdir(self.Dir.fullpath()):
            if file.endswith(".vtu"):
                flist.append(file)
        flist.sort()
        return(flist[-1])
    def __str__(self):
        if(self.getStatus()==0):
            str=" not running."
trisurf/tsmgr.py
@@ -256,13 +256,16 @@
def preview_vtu(args,host):
    #only for localhost at the moment
    #if sys.version_info>=(3,0):
    #    print("Preview works only with python 2.7")
    #    exit(1)
    from . import VTKRendering
    target_runs=getTargetRunIdxList(args)
    if target_runs==None:
        target_runs=list(range(1,len(host['runs'])+1))
    if host['name'] == socket.gethostname():
        VTKRendering.Renderer(args,host)
        for i in target_runs:
            VTKRendering.Renderer(args,host,host['runs'][i-1])
    else:
        print("VTK rendering currently works on localhost only!")
def getListOfHostConfigurationByHostname(hosts,host):
    rhost=[]