Salome HOME
Updated copyright comment
[modules/med.git] / src / MEDCalc / test / tui / interpolate_field_float.py
1 #!/usr/bin/env python
2
3 import os
4 import sys
5 import salome
6
7 salome.salome_init()
8
9 ###
10 ### FIELDS component
11 ###
12
13 import pvsimple as pvs
14
15 import medcalc
16 medcalc.medconsole.setConsoleGlobals(globals())
17 import MEDCALC
18 from medcalc.medconsole import accessField
19
20 from medcalc_testutils import GetMEDFileDirTUI
21
22 source_file = os.path.join(GetMEDFileDirTUI(), "source_1.med")
23 target_file = os.path.join(GetMEDFileDirTUI(), "target_1.med")
24
25 source_id = medcalc.LoadDataSource(source_file)
26
27 presentation_id = medcalc.MakeMeshView(medcalc.GetFirstMeshFromDataSource(source_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
28
29 target_id = medcalc.LoadDataSource(target_file)
30
31 presentation_id = medcalc.MakeMeshView(medcalc.GetFirstMeshFromDataSource(target_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
32
33 result_id = medcalc.InterpolateField(fieldId=0,meshId=1,precision=1e-12,
34                                      defaultValue=0,reverse=0,
35                                      method='P0P0',nature='IntensiveConservation',intersectionType='Triangulation')
36
37 presentation_id = medcalc.MakeScalarMap(accessField(result_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
38
39 source = pvs.GetActiveSource()
40
41 presentation_id = medcalc.MakeMeshView(0, viewMode=MEDCALC.VIEW_MODE_OVERLAP)
42
43 if source:
44   mini, maxi = source.CellData.GetArray("Mesh_field").GetRange()
45   mini_ref = 0.5294822392944354
46   maxi_ref = 0.8495972706827812
47
48   assert abs(mini-mini_ref)<1e-5
49   assert abs(maxi-maxi_ref)<1e-5
50
51 if salome.sg.hasDesktop():
52   salome.sg.updateObjBrowser()