mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
73 lines
2.5 KiB
Python
73 lines
2.5 KiB
Python
#/usr/bin/env python
|
|
|
|
# Global python import
|
|
import exceptions, traceback, logging, random, sys, threading, time, os
|
|
|
|
# Update python path to have ParaView libs
|
|
build_path='/Volumes/SebKitSSD/Kitware/code/ParaView/build-ninja'
|
|
sys.path.append('%s/lib'%build_path)
|
|
sys.path.append('%s/lib/site-packages'%build_path)
|
|
|
|
# ParaView import
|
|
from vtk.web import server
|
|
from paraview.vtk import *
|
|
from paraview.web import wamp as pv_wamp
|
|
from paraview.web import ipython as pv_ipython
|
|
|
|
from vtkCommonCorePython import *
|
|
from vtkCommonDataModelPython import *
|
|
from vtkCommonExecutionModelPython import *
|
|
from vtkFiltersSourcesPython import *
|
|
from vtkParallelCorePython import *
|
|
from vtkParaViewWebCorePython import *
|
|
from vtkPVClientServerCoreCorePython import *
|
|
from vtkPVServerManagerApplicationPython import *
|
|
from vtkPVServerManagerCorePython import *
|
|
from vtkPVVTKExtensionsCorePython import *
|
|
from vtk import *
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Start server
|
|
#------------------------------------------------------------------------------
|
|
|
|
paraviewHelper = pv_ipython.ParaViewIPython()
|
|
webArguments = pv_ipython.WebArguments('%s/www' % build_path)
|
|
sphere = None
|
|
|
|
def start():
|
|
paraviewHelper.Initialize(os.path.join(os.getcwd(), 'Testing', 'Temporary', 'mpi-python'))
|
|
pv_ipython.IPythonProtocol.updateArguments(webArguments)
|
|
paraviewHelper.SetWebProtocol(pv_ipython.IPythonProtocol, webArguments)
|
|
return paraviewHelper.Start()
|
|
|
|
def start_thread():
|
|
# Register some data at startup
|
|
global sphere
|
|
position = [random.random() * 2, random.random() * 2, random.random() * 2]
|
|
sphere = vtkSphereSource()
|
|
sphere.SetCenter(position)
|
|
sphere.Update()
|
|
pv_ipython.IPythonProtocol.RegisterDataSet('iPython-demo', sphere.GetOutput())
|
|
|
|
# Start root+satelites
|
|
thread = threading.Thread(target=start)
|
|
print "Starting thread"
|
|
thread.start()
|
|
for i in range(20):
|
|
print "Working... %ds" % (i*5)
|
|
position = [random.random() * 2, random.random() * 2, random.random() * 2]
|
|
print position
|
|
sphere.SetCenter(position)
|
|
sphere.Update()
|
|
pv_ipython.IPythonProtocol.RegisterDataSet('iPython-demo', sphere.GetOutput())
|
|
time.sleep(5)
|
|
pv_ipython.IPythonProtocol.ActivateDataSet('iPython-demo')
|
|
thread.join()
|
|
print "Done"
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Main
|
|
#------------------------------------------------------------------------------
|
|
if __name__ == "__main__":
|
|
start_thread()
|