1 # -*- coding: utf-8 -*-
4 ### This script is intended to be launched in a new SALOME study
13 ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1), True)
15 #Set up visual properties:
16 ipar.setProperty("AP_ACTIVE_VIEW", "ParaView_0_0")
17 ipar.setProperty("AP_WORKSTACK_INFO", "0000000100000000000000020100000001000003b5000000040000000100000001000000080000001800500061007200610056006900650077005f0030005f00300000000102")
18 ipar.setProperty("AP_ACTIVE_MODULE", "ParaViS")
19 ipar.setProperty("AP_SAVEPOINT_NAME", "GUI state: 1")
21 # fill list AP_VIEWERS_LIST
22 ipar.append("AP_VIEWERS_LIST", "ParaView_1")
23 # fill list ParaView_1
24 ipar.append("ParaView_1", "ParaView scene:2 - viewer:1")
25 ipar.append("ParaView_1", "empty")
26 # fill list AP_MODULES_LIST
27 ipar.append("AP_MODULES_LIST", "ParaViS")
30 if sys.platform == "win32":
31 from MEDCouplingCompat import *
33 from MEDCoupling import *
35 from MEDLoader import WriteMesh, WriteFieldUsingAlreadyWrittenMesh
40 m4=MEDCouplingCMesh("box")
41 coo=DataArrayDouble(list(range(7)))
42 m4.setCoords(coo[:5],coo[:5],coo)
43 m4=m4.buildUnstructured()
44 valsArr1=m4.computeCellCenterOfMass()
45 valsArr1.applyFunc(1,"sqrt(X*X+Y*Y+Z*Z)")
46 field4 = MEDCouplingFieldDouble(ON_CELLS)
47 field4.setArray(valsArr1)
49 field4.setName("field4")
51 WriteMesh(medfile1,m4,True)
52 WriteFieldUsingAlreadyWrittenMesh(medfile1,field4)
56 slice4=field4.extractSlice3D(origin,normvec,1e-10)
57 slice4.getMesh().translate([6,0,0])
59 WriteMesh(medfile2,slice4.getMesh(),True)
60 WriteFieldUsingAlreadyWrittenMesh(medfile2,slice4)
69 pvsimple.ShowParaviewView()
70 #### import the simple module from the paraview
71 from pvsimple import *
72 #### disable automatic camera reset on 'Show'
73 pvsimple._DisableFirstRenderCameraReset()
75 # create a new 'MED Reader'
76 mesh1med = MEDReader(FileName=medfile1)
78 # Properties modified on mesh1med
79 mesh1med.AllArrays = ['TS0/box/ComSup0/box@@][@@P0', 'TS0/box/ComSup0/field4@@][@@P0']
82 renderView1 = GetActiveViewOrCreate('RenderView')
83 # uncomment following to set a specific view size
84 # renderView1.ViewSize = [935, 531]
87 mesh1medDisplay = Show(mesh1med, renderView1)
89 # trace defaults for the display properties.
90 mesh1medDisplay.Representation = 'Surface'
92 # reset view to fit data
93 renderView1.ResetCamera()
95 # update the view to ensure updated data information
99 ColorBy(mesh1medDisplay, ('CELLS', 'field4', 'Magnitude'))
101 # rescale color and/or opacity maps used to include current data range
102 mesh1medDisplay.RescaleTransferFunctionToDataRange(True, False)
104 # show color bar/color legend
105 mesh1medDisplay.SetScalarBarVisibility(renderView1, True)
107 # get color transfer function/color map for 'field4'
108 field4LUT = GetColorTransferFunction('field4')
110 # create a new 'MED Reader'
111 mesh2med = MEDReader(FileName=medfile2)
113 # Properties modified on mesh2med
114 mesh2med.AllArrays = ['TS0/Slice3D/ComSup0/Slice3D@@][@@P0', 'TS0/Slice3D/ComSup0/field4@@][@@P0']
117 mesh2medDisplay = Show(mesh2med, renderView1)
119 # trace defaults for the display properties.
120 mesh2medDisplay.Representation = 'Surface'
122 # update the view to ensure updated data information
125 # set scalar coloring
126 ColorBy(mesh2medDisplay, ('CELLS', 'field4', 'Magnitude'))
128 # rescale color and/or opacity maps used to include current data range
129 mesh2medDisplay.RescaleTransferFunctionToDataRange(True, False)
131 # show color bar/color legend
132 mesh2medDisplay.SetScalarBarVisibility(renderView1, True)
134 #### saving camera placements for all active views
136 # current camera placement for renderView1
137 renderView1.CameraPosition = [13.435468781360525, -42.4334252478128, 12.397177265244004]
138 renderView1.CameraFocalPoint = [11.468912675367923, -26.954985015354552, 9.183145534397903]
139 renderView1.CameraViewUp = [-0.0347897943004739, 0.19894659037092524, 0.9793926303542998]
140 renderView1.CameraParallelScale = 4.123105625617661
143 if salome.sg.hasDesktop():
144 salome.sg.updateObjBrowser(True)
145 iparameters.getSession().restoreVisualState(1)