From d648dcc79088e1548cb0a5fe006bd0066060aed0 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Fri, 29 Oct 2021 10:30:51 +0200
Subject: [PATCH] Move the actual ParaView rendering into a separate file

That way I can reuse it more easily
---
 .../render-quasiconvexity-test-results.py     | 144 +---------------
 .../render-quasiconvexity-test.py             | 152 +----------------
 .../rendercirclegradandk.py                   | 156 ++++++++++++++++++
 3 files changed, 163 insertions(+), 289 deletions(-)
 create mode 100644 quasiconvexity-micromorphic-testsuite/rendercirclegradandk.py

diff --git a/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test-results.py b/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test-results.py
index e4923ec..e3c9d8f 100644
--- a/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test-results.py
+++ b/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test-results.py
@@ -4,150 +4,12 @@ from paraview.simple import *
 # For pattern matching
 import re
 
+# For the actual rendering method
+from rendercirclegradandk import renderResult
+
 #### disable automatic camera reset on 'Show'
 paraview.simple._DisableFirstRenderCameraReset()
 
-# get the material library
-materialLibrary1 = GetMaterialLibrary()
-
-# Render result
-def renderResult(filePrefix, texFile):
-
-    # ----------------------------------------------------------------
-    # setup views used in the visualization
-    # ----------------------------------------------------------------
-
-    # Create a new 'Render View'
-    renderView1 = CreateView('RenderView')
-    renderView1.ViewSize = [800, 695]
-    renderView1.InteractionMode = '2D'
-    renderView1.AxesGrid = 'GridAxes3DActor'
-    renderView1.StereoType = 'Crystal Eyes'
-    renderView1.CameraPosition = [0.0, 0.0, 10000.0]
-    renderView1.CameraFocalDisk = 1.0
-    renderView1.CameraParallelScale = 1.4142135623730951
-    renderView1.BackEnd = 'OSPRay raycaster'
-    renderView1.OSPRayMaterialLibrary = materialLibrary1
-
-    SetActiveView(None)
-
-    # ----------------------------------------------------------------
-    # setup view layouts
-    # ----------------------------------------------------------------
-
-    # create new layout object 'Layout #1'
-    layout1 = CreateLayout(name='Layout #1')
-    layout1.AssignView(0, renderView1)
-    layout1.SetSize(800, 695)
-
-    # ----------------------------------------------------------------
-    # restore active view
-    SetActiveView(renderView1)
-    # ----------------------------------------------------------------
-
-    # ----------------------------------------------------------------
-    # setup the data processing pipelines
-    # ----------------------------------------------------------------
-
-    # create a new 'XML Unstructured Grid Reader'
-    data = XMLUnstructuredGridReader(registrationName=filePrefix + ".vtu", FileName=['/home/sander/dune/dune-elasticity/quasiconvexity-micromorphic-testsuite/' + filePrefix + ".vtu"])
-    data.CellArrayStatus = ['determinant', 'K']
-    data.TimeArray = 'None'
-
-    # ----------------------------------------------------------------
-    # setup the visualization in view 'renderView1'
-    # ----------------------------------------------------------------
-
-    # show data from 'data'
-    dataDisplay = Show(data, renderView1, 'UnstructuredGridRepresentation')
-
-    determinantRange = data.CellData["determinant"].GetRange()
-    texFile.write("det range: " + str(determinantRange[0]) + ",  " + str(determinantRange[1]) + "\n\n")
-
-    KRange = data.CellData["K"].GetRange()
-    texFile.write("K range: " + str(KRange[0]) + ",  " + str(KRange[1]) + "\n\n")
-
-    # get color transfer function/color map for 'determinant'
-    determinantArrayInfo = data.CellData["determinant"]
-    AssignLookupTable(determinantArrayInfo,'Cool to Warm', determinantRange)
-
-    # get opacity transfer function/opacity map for 'determinant'
-    determinantPWF = GetOpacityTransferFunction('determinant')
-    determinantPWF.Points = [-0.016938600689172745, 0.0, 0.5, 0.0, 1.7324700355529785, 1.0, 0.5, 0.0]
-    determinantPWF.ScalarRangeInitialized = 1
-
-    # trace defaults for the display properties.
-    dataDisplay.Representation = 'Surface'
-    dataDisplay.ColorArrayName = ['CELLS', 'determinant']
-    dataDisplay.SelectTCoordArray = 'None'
-    dataDisplay.SelectNormalArray = 'None'
-    dataDisplay.SelectTangentArray = 'None'
-    dataDisplay.OSPRayScaleFunction = 'PiecewiseFunction'
-    dataDisplay.SelectOrientationVectors = 'None'
-    dataDisplay.ScaleFactor = 0.2
-    dataDisplay.SelectScaleArray = 'determinant'
-    dataDisplay.GaussianRadius = 0.01
-    dataDisplay.SetScaleArray = [None, '']
-    dataDisplay.ScaleTransferFunction = 'PiecewiseFunction'
-    dataDisplay.OpacityArray = [None, '']
-    dataDisplay.OpacityTransferFunction = 'PiecewiseFunction'
-    dataDisplay.DataAxesGrid = 'GridAxesRepresentation'
-    dataDisplay.PolarAxes = 'PolarAxesRepresentation'
-
-    # setup the color legend parameters for each legend in this view
-
-    # get color legend/bar for determinantLUT in view renderView1
-    determinantLUT = GetColorTransferFunction('determinant')
-    dataDisplay.LookupTable = determinantLUT
-    determinantLUTColorBar = GetScalarBar(determinantLUT, renderView1)
-    determinantLUTColorBar.Title = 'determinant'
-    determinantLUTColorBar.ComponentTitle = ''
-
-    # set color bar visibility
-    determinantLUTColorBar.Visibility = 1
-
-    # show color legend
-    dataDisplay.SetScalarBarVisibility(renderView1, True)
-
-    Render()
-
-    #save screenshot
-    WriteImage(filePrefix + "-det.png")
-
-    # Render again, showing the K value
-    determinantLUTColorBar.Visibility = 0
-    AssignLookupTable(data.CellData["K"],'Cool to Warm', KRange)
-    dataDisplay.ColorArrayName = ['CELLS', 'K']
-
-    # get color legend/bar for KLUT in view renderView1
-    KLUT = GetColorTransferFunction('K')
-    dataDisplay.LookupTable = KLUT
-    KLUTColorBar = GetScalarBar(KLUT, renderView1)
-    KLUTColorBar.Title = 'K'
-    KLUTColorBar.ComponentTitle = ''
-
-    # set color bar visibility
-    #KLUTColorBar.Visibility = 1
-
-    # show color legend
-    #dataDisplay.SetScalarBarVisibility(renderView1, True)
-
-    Render()
-
-    #save screenshot
-    WriteImage(filePrefix + "-K.png")
-
-    # ----------------------------------------------------------------
-    # restore active source
-    SetActiveSource(data)
-    # ----------------------------------------------------------------
-
-
-    if __name__ == '__main__':
-        # generate extracts
-        SaveExtracts(ExtractsOutputDirectory='extracts')
-
-
 # Open output document and write LaTeX header
 texFile = open(r"quasiconvexity-test-micromorphic-results.tex","w+")
 
diff --git a/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test.py b/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test.py
index 11e211f..4a4be39 100644
--- a/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test.py
+++ b/quasiconvexity-micromorphic-testsuite/render-quasiconvexity-test.py
@@ -1,161 +1,17 @@
 #### import the simple module from the paraview
 from paraview.simple import *
 
+# For the actual rendering method
+from rendercirclegradandk import renderResult
+
 # For os.devnull
 import os
 
 #### disable automatic camera reset on 'Show'
 paraview.simple._DisableFirstRenderCameraReset()
 
-# get the material library
-materialLibrary1 = GetMaterialLibrary()
-
-# Render result
-def renderResult(filePrefix, texFile):
-
-    # ----------------------------------------------------------------
-    # setup views used in the visualization
-    # ----------------------------------------------------------------
-
-    # Create a new 'Render View'
-    renderView1 = CreateView('RenderView')
-    renderView1.ViewSize = [800, 695]
-    renderView1.InteractionMode = '2D'
-    renderView1.AxesGrid = 'GridAxes3DActor'
-    renderView1.StereoType = 'Crystal Eyes'
-    renderView1.CameraPosition = [0.0, 0.0, 10000.0]
-    renderView1.CameraFocalDisk = 1.0
-    renderView1.CameraParallelScale = 1.4142135623730951
-    renderView1.BackEnd = 'OSPRay raycaster'
-    renderView1.OSPRayMaterialLibrary = materialLibrary1
-    renderView1.OrientationAxesVisibility = 0
-    renderView1.Background = [1.0, 1.0, 1.0]
-
-    SetActiveView(None)
-
-    # ----------------------------------------------------------------
-    # setup view layouts
-    # ----------------------------------------------------------------
-
-    # create new layout object 'Layout #1'
-    layout1 = CreateLayout(name='Layout #1')
-    layout1.AssignView(0, renderView1)
-    layout1.SetSize(800, 695)
-
-    # ----------------------------------------------------------------
-    # restore active view
-    SetActiveView(renderView1)
-    # ----------------------------------------------------------------
-
-    # ----------------------------------------------------------------
-    # setup the data processing pipelines
-    # ----------------------------------------------------------------
-
-    # create a new 'XML Unstructured Grid Reader'
-    data = XMLUnstructuredGridReader(registrationName=filePrefix + ".vtu", FileName=[filePrefix + ".vtu"])
-    data.CellArrayStatus = ['determinant', 'K']
-    data.TimeArray = 'None'
-
-    # ----------------------------------------------------------------
-    # setup the visualization in view 'renderView1'
-    # ----------------------------------------------------------------
-
-    # show data from 'data'
-    dataDisplay = Show(data, renderView1, 'UnstructuredGridRepresentation')
-
-    determinantRange = data.CellData["determinant"].GetRange()
-    texFile.write("det range: " + str(determinantRange[0]) + ",  " + str(determinantRange[1]) + "\n\n")
-
-    KRange = data.CellData["K"].GetRange()
-    texFile.write("K range: " + str(KRange[0]) + ",  " + str(KRange[1]) + "\n\n")
-
-    # get color transfer function/color map for 'determinant'
-    determinantArrayInfo = data.CellData["determinant"]
-    AssignLookupTable(determinantArrayInfo,'Cool to Warm', determinantRange)
-
-    # get opacity transfer function/opacity map for 'determinant'
-    determinantPWF = GetOpacityTransferFunction('determinant')
-    determinantPWF.Points = [-0.016938600689172745, 0.0, 0.5, 0.0, 1.7324700355529785, 1.0, 0.5, 0.0]
-    determinantPWF.ScalarRangeInitialized = 1
-
-    # trace defaults for the display properties.
-    dataDisplay.Representation = 'Surface'
-    dataDisplay.ColorArrayName = ['CELLS', 'determinant']
-    dataDisplay.SelectTCoordArray = 'None'
-    dataDisplay.SelectNormalArray = 'None'
-    dataDisplay.SelectTangentArray = 'None'
-    dataDisplay.OSPRayScaleFunction = 'PiecewiseFunction'
-    dataDisplay.SelectOrientationVectors = 'None'
-    dataDisplay.ScaleFactor = 0.2
-    dataDisplay.SelectScaleArray = 'determinant'
-    dataDisplay.GaussianRadius = 0.01
-    dataDisplay.SetScaleArray = [None, '']
-    dataDisplay.ScaleTransferFunction = 'PiecewiseFunction'
-    dataDisplay.OpacityArray = [None, '']
-    dataDisplay.OpacityTransferFunction = 'PiecewiseFunction'
-    dataDisplay.DataAxesGrid = 'GridAxesRepresentation'
-    dataDisplay.PolarAxes = 'PolarAxesRepresentation'
-
-    # setup the color legend parameters for each legend in this view
-
-    # get color legend/bar for determinantLUT in view renderView1
-    determinantLUT = GetColorTransferFunction('determinant')
-    dataDisplay.LookupTable = determinantLUT
-    determinantLUTColorBar = GetScalarBar(determinantLUT, renderView1)
-    determinantLUTColorBar.Title = 'determinant'
-    determinantLUTColorBar.ComponentTitle = ''
-    determinantLUTColorBar.LabelColor = [0.0, 0.0, 0.0]
-    determinantLUTColorBar.TitleColor = [0.0, 0.0, 0.0]
-
-    # set color bar visibility
-    determinantLUTColorBar.Visibility = 1
-
-    # show color legend
-    dataDisplay.SetScalarBarVisibility(renderView1, True)
-
-    Render()
-
-    #save screenshot
-    WriteImage(filePrefix + "-det.png")
-
-    # Render again, showing the K value
-    determinantLUTColorBar.Visibility = 0
-    AssignLookupTable(data.CellData["K"],'Cool to Warm', KRange)
-    dataDisplay.ColorArrayName = ['CELLS', 'K']
-
-    # get color legend/bar for KLUT in view renderView1
-    KLUT = GetColorTransferFunction('K')
-    dataDisplay.LookupTable = KLUT
-    KLUTColorBar = GetScalarBar(KLUT, renderView1)
-    KLUTColorBar.Title = 'IK'
-    KLUTColorBar.ComponentTitle = ''
-    KLUTColorBar.LabelColor = [0.0, 0.0, 0.0]
-    KLUTColorBar.TitleColor = [0.0, 0.0, 0.0]
-
-    # set color bar visibility
-    #KLUTColorBar.Visibility = 1
-
-    # show color legend
-    #dataDisplay.SetScalarBarVisibility(renderView1, True)
-
-    Render()
-
-    #save screenshot
-    WriteImage(filePrefix + "-K.png")
-
-    # ----------------------------------------------------------------
-    # restore active source
-    SetActiveSource(data)
-    # ----------------------------------------------------------------
-
-
-    if __name__ == '__main__':
-        # generate extracts
-        SaveExtracts(ExtractsOutputDirectory='extracts')
-
-
 if (len(sys.argv)!=2):
-    print('Usage: renderquasiconvexity-test <fileprefix>')
+    print('Usage: render-quasiconvexity-test <fileprefix>')
     exit()
 
 # Open output document and write LaTeX header
diff --git a/quasiconvexity-micromorphic-testsuite/rendercirclegradandk.py b/quasiconvexity-micromorphic-testsuite/rendercirclegradandk.py
new file mode 100644
index 0000000..ded6fcd
--- /dev/null
+++ b/quasiconvexity-micromorphic-testsuite/rendercirclegradandk.py
@@ -0,0 +1,156 @@
+#### import the simple module from the paraview
+from paraview.simple import *
+
+# For os.devnull
+import os
+
+# Render the result of a quasiconvexity test run on a unit circle
+# or domain of similar size.  Two data fields are visualized:
+# The determinant of the deformation gradient, and the mystery
+# value 'IK'.
+def renderResult(filePrefix, texFile):
+
+    # get the material library
+    materialLibrary1 = GetMaterialLibrary()
+
+    # ----------------------------------------------------------------
+    # setup views used in the visualization
+    # ----------------------------------------------------------------
+
+    # Create a new 'Render View'
+    renderView1 = CreateView('RenderView')
+    renderView1.ViewSize = [800, 695]
+    renderView1.InteractionMode = '2D'
+    renderView1.AxesGrid = 'GridAxes3DActor'
+    renderView1.StereoType = 'Crystal Eyes'
+    renderView1.CameraPosition = [0.0, 0.0, 10000.0]
+    renderView1.CameraFocalDisk = 1.0
+    renderView1.CameraParallelScale = 1.4142135623730951
+    renderView1.BackEnd = 'OSPRay raycaster'
+    renderView1.OSPRayMaterialLibrary = materialLibrary1
+    renderView1.OrientationAxesVisibility = 0
+    renderView1.Background = [1.0, 1.0, 1.0]
+
+    SetActiveView(None)
+
+    # ----------------------------------------------------------------
+    # setup view layouts
+    # ----------------------------------------------------------------
+
+    # create new layout object 'Layout #1'
+    layout1 = CreateLayout(name='Layout #1')
+    layout1.AssignView(0, renderView1)
+    layout1.SetSize(800, 695)
+
+    # ----------------------------------------------------------------
+    # restore active view
+    SetActiveView(renderView1)
+    # ----------------------------------------------------------------
+
+    # ----------------------------------------------------------------
+    # setup the data processing pipelines
+    # ----------------------------------------------------------------
+
+    # create a new 'XML Unstructured Grid Reader'
+    data = XMLUnstructuredGridReader(registrationName=filePrefix + ".vtu", FileName=[filePrefix + ".vtu"])
+    data.CellArrayStatus = ['determinant', 'K']
+    data.TimeArray = 'None'
+
+    # ----------------------------------------------------------------
+    # setup the visualization in view 'renderView1'
+    # ----------------------------------------------------------------
+
+    # show data from 'data'
+    dataDisplay = Show(data, renderView1, 'UnstructuredGridRepresentation')
+
+    determinantRange = data.CellData["determinant"].GetRange()
+    texFile.write("det range: " + str(determinantRange[0]) + ",  " + str(determinantRange[1]) + "\n\n")
+
+    KRange = data.CellData["K"].GetRange()
+    texFile.write("K range: " + str(KRange[0]) + ",  " + str(KRange[1]) + "\n\n")
+
+    # get color transfer function/color map for 'determinant'
+    determinantArrayInfo = data.CellData["determinant"]
+    AssignLookupTable(determinantArrayInfo,'Cool to Warm', determinantRange)
+
+    # get opacity transfer function/opacity map for 'determinant'
+    determinantPWF = GetOpacityTransferFunction('determinant')
+    determinantPWF.Points = [-0.016938600689172745, 0.0, 0.5, 0.0, 1.7324700355529785, 1.0, 0.5, 0.0]
+    determinantPWF.ScalarRangeInitialized = 1
+
+    # trace defaults for the display properties.
+    dataDisplay.Representation = 'Surface'
+    dataDisplay.ColorArrayName = ['CELLS', 'determinant']
+    dataDisplay.SelectTCoordArray = 'None'
+    dataDisplay.SelectNormalArray = 'None'
+    dataDisplay.SelectTangentArray = 'None'
+    dataDisplay.OSPRayScaleFunction = 'PiecewiseFunction'
+    dataDisplay.SelectOrientationVectors = 'None'
+    dataDisplay.ScaleFactor = 0.2
+    dataDisplay.SelectScaleArray = 'determinant'
+    dataDisplay.GaussianRadius = 0.01
+    dataDisplay.SetScaleArray = [None, '']
+    dataDisplay.ScaleTransferFunction = 'PiecewiseFunction'
+    dataDisplay.OpacityArray = [None, '']
+    dataDisplay.OpacityTransferFunction = 'PiecewiseFunction'
+    dataDisplay.DataAxesGrid = 'GridAxesRepresentation'
+    dataDisplay.PolarAxes = 'PolarAxesRepresentation'
+
+    # setup the color legend parameters for each legend in this view
+
+    # get color legend/bar for determinantLUT in view renderView1
+    determinantLUT = GetColorTransferFunction('determinant')
+    dataDisplay.LookupTable = determinantLUT
+    determinantLUTColorBar = GetScalarBar(determinantLUT, renderView1)
+    determinantLUTColorBar.Title = 'determinant'
+    determinantLUTColorBar.ComponentTitle = ''
+    determinantLUTColorBar.LabelColor = [0.0, 0.0, 0.0]
+    determinantLUTColorBar.TitleColor = [0.0, 0.0, 0.0]
+
+    # set color bar visibility
+    determinantLUTColorBar.Visibility = 1
+
+    # show color legend
+    dataDisplay.SetScalarBarVisibility(renderView1, True)
+
+    Render()
+
+    #save screenshot
+    WriteImage(filePrefix + "-det.png")
+
+    # Render again, showing the K value
+    determinantLUTColorBar.Visibility = 0
+    AssignLookupTable(data.CellData["K"],'Cool to Warm', KRange)
+    dataDisplay.ColorArrayName = ['CELLS', 'K']
+
+    # get color legend/bar for KLUT in view renderView1
+    KLUT = GetColorTransferFunction('K')
+    dataDisplay.LookupTable = KLUT
+    KLUTColorBar = GetScalarBar(KLUT, renderView1)
+    KLUTColorBar.Title = 'IK'
+    KLUTColorBar.ComponentTitle = ''
+    KLUTColorBar.LabelColor = [0.0, 0.0, 0.0]
+    KLUTColorBar.TitleColor = [0.0, 0.0, 0.0]
+
+    # set color bar visibility
+    #KLUTColorBar.Visibility = 1
+
+    # show color legend
+    #dataDisplay.SetScalarBarVisibility(renderView1, True)
+
+    Render()
+
+    #save screenshot
+    WriteImage(filePrefix + "-K.png")
+
+    # ----------------------------------------------------------------
+    # restore active source
+    SetActiveSource(data)
+    # ----------------------------------------------------------------
+
+
+    if __name__ == '__main__':
+        # generate extracts
+        SaveExtracts(ExtractsOutputDirectory='extracts')
+
+
-- 
GitLab