Files
ThirdParty-6/ParaView-5.0.1/CoProcessing/PythonCatalyst/Testing/Cxx/PythonScriptTest.py

71 lines
2.7 KiB
Python

# the code below is needed to import objects from paraview.simple
# plus the definition of vtkTrivialProducer into this python script.
try: paraview.simple
except: from paraview.simple import *
def DoCoProcessing(datadescription):
timestep = datadescription.GetTimeStep()
grid = datadescription.GetInputDescriptionByName("input").GetGrid()
pressure = grid.GetPointData().GetArray('Pressure')
grid.GetPointData().SetScalars(pressure)
trivialproducer = PVTrivialProducer()
obj = trivialproducer.GetClientSideObject()
obj.SetOutput(grid)
if grid.IsA("vtkImageData") == True or grid.IsA("vtkStructuredGrid") == True or grid.IsA("vtkRectilinearGrid") == True:
extent = datadescription.GetInputDescriptionByName("input").GetWholeExtent()
trivialproducer.WholeExtent= [ extent[0], extent[1], extent[2], extent[3], extent[4], extent[5] ]
# get global range of Pressure
trivialproducer.UpdatePipeline()
RenderView1 = GetRenderView()
RenderView1.ViewSize = [200, 300]
DataRepresentation1 = Show()
DataRepresentation1.Visibility = 0
Contour1 = Contour( PointMergeMethod="Uniform Binning" )
Contour1.PointMergeMethod = "Uniform Binning"
Contour1.ContourBy = ['POINTS', 'Pressure']
Contour1.Isosurfaces = [2952.0]
RenderView1.Background = [1,1,1]
RenderView1.CameraPosition = [5.0, 25.0, 347.53624862725769]
RenderView1.CameraFocalPoint = [5.0, 25.0, 307.5]
RenderView1.CameraClippingRange = [24.710886140985117, 59.424292356666555]
RenderView1.CameraParallelScale = 13.743685418725535
DataRepresentation2 = Show()
DataRepresentation2.ScaleFactor = 1.5
DataRepresentation2.EdgeColor = [0.0, 0.0, 0.50000762951094835]
fname = 'CPGrid' + str(timestep) + '.png'
WriteImage(fname)
DataRepresentation2 = Show(trivialproducer)
DataRepresentation2.LookupTable = MakeBlueToRedLT(2702, 3202)
DataRepresentation2.ColorArrayName = ('POINTS', 'Pressure')
DataRepresentation2.Representation="Surface"
DataRepresentation2 = Show(Contour1)
RenderView1 = Render()
RenderView1.Background=[1,1,1] #white
RenderView1.CameraPosition = [5.0, 25.0, 347.53624862725769]
RenderView1.CameraFocalPoint = [5.0, 25.0, 307.5]
RenderView1.CameraClippingRange = [24.710886140985117, 59.424292356666555]
RenderView1.CameraParallelScale = 13.743685418725535
fname = 'CPPressure' + str(timestep) + '.png'
WriteImage(fname)
def RequestDataDescription(datadescription):
time = datadescription.GetTime()
timestep = datadescription.GetTimeStep()
if timestep % 20 == 0:
# add in some fields
#print 'added Pressure and wanting to do coprocessing'
datadescription.GetInputDescriptionByName("input").AddPointField("Pressure")
datadescription.GetInputDescriptionByName('input').GenerateMeshOn()
return