Salome HOME
[EDF19821] : tests are writing tmp file into /tmp
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 19 Jul 2019 08:21:35 +0000 (10:21 +0200)
committerPascal Obry <pascal.obry@edf.fr>
Fri, 19 Jul 2019 09:46:24 +0000 (11:46 +0200)
22 files changed:
src/Plugins/MEDReader/Test/CMakeLists.txt
src/Plugins/MEDReader/Test/MEDReaderHelper.py [new file with mode: 0644]
src/Plugins/MEDReader/Test/testMEDReader0.py
src/Plugins/MEDReader/Test/testMEDReader1.py
src/Plugins/MEDReader/Test/testMEDReader10.py
src/Plugins/MEDReader/Test/testMEDReader13.py
src/Plugins/MEDReader/Test/testMEDReader14.py
src/Plugins/MEDReader/Test/testMEDReader15.py
src/Plugins/MEDReader/Test/testMEDReader16.py
src/Plugins/MEDReader/Test/testMEDReader17.py
src/Plugins/MEDReader/Test/testMEDReader18.py
src/Plugins/MEDReader/Test/testMEDReader19.py
src/Plugins/MEDReader/Test/testMEDReader2.py
src/Plugins/MEDReader/Test/testMEDReader20.py
src/Plugins/MEDReader/Test/testMEDReader21.py
src/Plugins/MEDReader/Test/testMEDReader3.py
src/Plugins/MEDReader/Test/testMEDReader4.py
src/Plugins/MEDReader/Test/testMEDReader5.py
src/Plugins/MEDReader/Test/testMEDReader6.py
src/Plugins/MEDReader/Test/testMEDReader7.py
src/Plugins/MEDReader/Test/testMEDReader8.py
src/Plugins/MEDReader/Test/testMEDReader9.py

index b71c7094330b34fb4ab3151f9300134355f4b7ed..1b1426a04e104243c98caee42eddd09aea7a7ef5 100644 (file)
@@ -116,4 +116,4 @@ ENDFOREACH()
 INSTALL(FILES CTestTestfileInstall.cmake
         DESTINATION ${TEST_INSTALL_DIRECTORY}
         RENAME CTestTestfile.cmake)
-INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
+INSTALL(FILES tests.set MEDReaderHelper.py DESTINATION ${TEST_INSTALL_DIRECTORY})
diff --git a/src/Plugins/MEDReader/Test/MEDReaderHelper.py b/src/Plugins/MEDReader/Test/MEDReaderHelper.py
new file mode 100644 (file)
index 0000000..7d970f0
--- /dev/null
@@ -0,0 +1,43 @@
+#  -*- coding: iso-8859-1 -*-
+# Copyright (C) 2019  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Author : Anthony Geay (EDF R&D)
+
+def WriteInTmpDir(func):
+    def decoratedFunc(*args,**kwargs):
+        import tempfile,os
+        ret = None
+        with tempfile.TemporaryDirectory() as tmpdirname:
+            os.chdir(tmpdirname)
+            ret = func(*args,**kwargs)
+            pass
+        return ret
+    return decoratedFunc
+
+def RetriveBaseLine(imgFile):
+    import os,sys
+    try:
+        baselineIndex = sys.argv.index('-B')+1
+        baselinePath = sys.argv[baselineIndex]
+    except:
+        print("Could not get baseline directory. Test failed.")
+        exit(1)
+    baseline_file = os.path.join(baselinePath, imgFile)
+    return os.path.abspath(baseline_file)
+
index 090b066c83e8cdd7b1b87db77197864428188dd5..a8af4345aa03b5d318a4c5bb9ac7f40bd300c1de 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-fname="testMEDReader0.med"
-outImgName="testMEDReader0.png"
-#########
-mz=MEDCoupling1SGTUMesh("mesh",NORM_QUAD9)
-mz.setNodalConnectivity(DataArrayInt([0,6,37,12,76,112,113,82,205,12,37,38,13,113,114,115,83,206,13,38,9,1,115,116,79,84,207,6,7,39,37,77,117,118,112,208,37,39,40,38,118,119,120,114,209,38,40,10,9,120,121,80,116,210,7,8,41,39,78,122,123,117,211,39,41,42,40,123,124,125,119,212,40,42,11,10,125,126,81,121,213,1,9,43,17,79,127,128,88,214,17,43,44,18,128,129,130,89,215,18,44,14,2,130,131,85,90,216,9,10,45,43,80,132,133,127,217,43,45,46,44,133,134,135,129,218,44,46,15,14,135,136,86,131,219,10,11,47,45,81,137,138,132,220,45,47,48,46,138,139,140,134,221,46,48,16,15,140,141,87,136,222,1,9,49,22,79,142,143,94,223,22,49,50,23,143,144,145,95,224,23,50,51,24,145,146,147,96,225,24,51,52,25,147,148,149,97,226,25,52,53,26,149,150,151,98,227,26,53,19,3,151,152,91,99,228,9,10,54,49,80,153,154,142,229,49,54,55,50,154,155,156,144,230,50,55,56,51,156,157,158,146,231,51,56,57,52,158,159,160,148,232,52,57,58,53,160,161,162,150,233,53,58,20,19,162,163,92,152,234,10,11,59,54,81,164,165,153,235,54,59,60,55,165,166,167,155,236,55,60,61,56,167,168,169,157,237,56,61,62,57,169,170,171,159,238,57,62,63,58,171,172,173,161,239,58,63,21,20,173,174,93,163,240,4,27,64,30,100,175,176,103,241,30,64,65,31,176,177,178,104,242,31,65,19,3,178,179,91,105,243,27,28,66,64,101,180,181,175,244,64,66,67,65,181,182,183,177,245,65,67,20,19,183,184,92,179,246,28,29,68,66,102,185,186,180,247,66,68,69,67,186,187,188,182,248,67,69,21,20,188,189,93,184,249,3,19,70,35,91,190,191,109,250,35,70,71,36,191,192,193,110,251,36,71,32,5,193,194,106,111,252,19,20,72,70,92,195,196,190,253,70,72,73,71,196,197,198,192,254,71,73,33,32,198,199,107,194,255,20,21,74,72,93,200,201,195,256,72,74,75,73,201,202,203,197,257,73,75,34,33,203,204,108,199,258]))
-coords=DataArrayDouble([-0.04,0.015,0.,0.,0.015,0.,0.04,0.015,0.,0.,0.105,0.,-0.04,0.105,0.,0.04,0.105,0.,-0.04,0.015,0.015,-0.04,0.015,0.03,-0.04,0.015,0.045,0.,0.015,0.015,0.,0.015,0.03,0.,0.015,0.045,-0.026666666666666665,0.015,0.,-0.013333333333333329,0.015,0.,0.04,0.015,0.015,0.04,0.015,0.03,0.04,0.015,0.045,0.013333333333333336,0.015,0.,0.026666666666666672,0.015,0.,0.,0.105,0.015,0.,0.105,0.03,0.,0.105,0.045,0.,0.03,0.,0.,0.045,0.,0.,0.06,0.,0.,0.075,0.,0.,0.09,0.,-0.04,0.105,0.015,-0.04,0.105,0.03,-0.04,0.105,0.045,-0.026666666666666665,0.105,0.,-0.013333333333333329,0.105,0.,0.04,0.105,0.015,0.04,0.105,0.03,0.04,0.105,0.045,0.013333333333333336,0.105,0.,0.026666666666666672,0.105,0.,-0.026666666666666665,0.015,0.015,-0.013333333333333326,0.015,0.015,-0.026666666666666665,0.015,0.03,-0.013333333333333326,0.015,0.03,-0.026666666666666665,0.015,0.045,-0.013333333333333329,0.015,0.045,0.013333333333333338,0.015,0.015,0.026666666666666675,0.015,0.015,0.013333333333333338,0.015,0.03,0.026666666666666675,0.015,0.03,0.013333333333333336,0.015,0.045,0.026666666666666672,0.015,0.045,0.,0.03,0.015,0.,0.045,0.015,0.,0.06,0.015,0.,0.07500000000000001,0.015,0.,0.09,0.015,0.,0.03,0.03,0.,0.045,0.03,0.,0.06,0.03,0.,0.075,0.03,0.,0.09,0.03,0.,0.03,0.045,0.,0.045,0.045,0.,0.06,0.045,0.,0.075,0.045,0.,0.09,0.045,-0.026666666666666665,0.105,0.015,-0.013333333333333326,0.105,0.015,-0.026666666666666665,0.105,0.03,-0.013333333333333326,0.105,0.03,-0.026666666666666665,0.105,0.045,-0.013333333333333329,0.105,0.045,0.013333333333333338,0.105,0.015,0.026666666666666675,0.105,0.015,0.013333333333333338,0.105,0.03,0.026666666666666675,0.105,0.03,0.013333333333333336,0.105,0.045,0.026666666666666672,0.105,0.045,-0.04,0.015,0.0075,-0.04,0.015,0.0225,-0.04,0.015,0.0375,0.,0.015,0.0075,0.,0.015,0.0225,0.,0.015,0.0375,-0.03333333333333333,0.015,0.,-0.02,0.015,0.,-0.0066666666666666645,0.015,0.,0.04,0.015,0.0075,0.04,0.015,0.0225,0.04,0.015,0.0375,0.006666666666666668,0.015,0.,0.02,0.015,0.,0.03333333333333334,0.015,0.,0.,0.105,0.0075,0.,0.105,0.0225,0.,0.105,0.0375,0.,0.0225,0.,0.,0.0375,0.,0.,0.0525,0.,0.,0.0675,0.,0.,0.0825,0.,0.,0.0975,0.,-0.04,0.105,0.0075,-0.04,0.105,0.0225,-0.04,0.105,0.0375,-0.03333333333333333,0.105,0.,-0.02,0.105,0.,-0.0066666666666666645,0.105,0.,0.04,0.105,0.0075,0.04,0.105,0.0225,0.04,0.105,0.0375,0.006666666666666668,0.105,0.,0.02,0.105,0.,0.03333333333333334,0.105,0.,-0.03333333333333333,0.015,0.015,-0.026666666666666665,0.015,0.0075,-0.02,0.015,0.015,-0.013333333333333327,0.015,0.0075,-0.006666666666666663,0.015,0.015,-0.03333333333333333,0.015,0.03,-0.026666666666666665,0.015,0.0225,-0.02,0.015,0.03,-0.013333333333333326,0.015,0.0225,-0.006666666666666663,0.015,0.03,-0.03333333333333333,0.015,0.045,-0.026666666666666665,0.015,0.0375,-0.02,0.015,0.045,-0.013333333333333327,0.015,0.0375,-0.0066666666666666645,0.015,0.045,0.006666666666666669,0.015,0.015,0.013333333333333336,0.015,0.0075,0.020000000000000007,0.015,0.015,0.026666666666666672,0.015,0.0075,0.03333333333333334,0.015,0.015,0.006666666666666669,0.015,0.03,0.013333333333333338,0.015,0.0225,0.02,0.015,0.03,0.026666666666666675,0.015,0.0225,0.03333333333333334,0.015,0.03,0.006666666666666668,0.015,0.045,0.013333333333333336,0.015,0.0375,0.02,0.015,0.045,0.026666666666666672,0.015,0.0375,0.03333333333333334,0.015,0.045,0.,0.0225,0.015,0.,0.03,0.0075,0.,0.0375,0.015,0.,0.045,0.0075,0.,0.0525,0.015,0.,0.06,0.0075,0.,0.0675,0.015,0.,0.07500000000000001,0.0075,0.,0.0825,0.015,0.,0.09,0.0075,0.,0.0975,0.015,0.,0.0225,0.03,0.,0.03,0.0225,0.,0.0375,0.03,0.,0.045,0.0225,0.,0.0525,0.03,0.,0.06,0.0225,0.,0.0675,0.03,0.,0.07500000000000001,0.0225,0.,0.08249999999999999,0.03,0.,0.09,0.0225,0.,0.0975,0.03,0.,0.0225,0.045,0.,0.03,0.0375,0.,0.0375,0.045,0.,0.045,0.0375,0.,0.0525,0.045,0.,0.06,0.0375,0.,0.0675,0.045,0.,0.075,0.0375,0.,0.08249999999999999,0.045,0.,0.09,0.0375,0.,0.0975,0.045,-0.03333333333333333,0.105,0.015,-0.026666666666666665,0.105,0.0075,-0.02,0.105,0.015,-0.013333333333333327,0.105,0.0075,-0.006666666666666663,0.105,0.015,-0.03333333333333333,0.105,0.03,-0.026666666666666665,0.105,0.0225,-0.02,0.105,0.03,-0.013333333333333326,0.105,0.0225,-0.006666666666666663,0.105,0.03,-0.03333333333333333,0.105,0.045,-0.026666666666666665,0.105,0.0375,-0.02,0.105,0.045,-0.013333333333333327,0.105,0.0375,-0.0066666666666666645,0.105,0.045,0.006666666666666669,0.105,0.015,0.013333333333333336,0.105,0.0075,0.020000000000000007,0.105,0.015,0.026666666666666672,0.105,0.0075,0.03333333333333334,0.105,0.015,0.006666666666666669,0.105,0.03,0.013333333333333338,0.105,0.0225,0.020000000000000007,0.105,0.03,0.026666666666666675,0.105,0.0225,0.03333333333333334,0.105,0.03,0.006666666666666668,0.105,0.045,0.013333333333333336,0.105,0.0375,0.02,0.105,0.045,0.026666666666666672,0.105,0.0375,0.03333333333333334,0.105,0.045,-0.03333333333333333,0.015,0.0075,-0.02,0.015,0.0075,-0.006666666666666664,0.015,0.0075,-0.03333333333333333,0.015,0.0225,-0.02,0.015,0.0225,-0.006666666666666663,0.015,0.0225,-0.03333333333333333,0.015,0.0375,-0.02,0.015,0.0375,-0.006666666666666662,0.015,0.0375,0.006666666666666668,0.015,0.0075,0.02,0.015,0.0075,0.03333333333333334,0.015,0.0075,0.006666666666666669,0.015,0.0225,0.020000000000000007,0.015,0.0225,0.03333333333333334,0.015,0.0225,0.006666666666666668,0.015,0.0375,0.02,0.015,0.0375,0.03333333333333334,0.015,0.0375,0.,0.0225,0.0075,0.,0.0375,0.0075,0.,0.0525,0.0075,0.,0.0675,0.0075,0.,0.0825,0.0075,0.,0.0975,0.0075,0.,0.0225,0.0225,0.,0.0375,0.0225,0.,0.0525,0.0225,0.,0.0675,0.0225,0.,0.0825,0.0225,0.,0.0975,0.0225,0.,0.0225,0.0375,0.,0.0375,0.0375,0.,0.0525,0.0375,0.,0.0675,0.0375,0.,0.08249999999999999,0.0375,0.,0.0975,0.0375,-0.03333333333333333,0.105,0.0075,-0.02,0.105,0.0075,-0.006666666666666664,0.105,0.0075,-0.03333333333333333,0.105,0.0225,-0.02,0.105,0.0225,-0.006666666666666663,0.105,0.0225,-0.03333333333333333,0.105,0.0375,-0.02,0.105,0.0375,-0.006666666666666662,0.105,0.0375,0.006666666666666668,0.105,0.0075,0.02,0.105,0.0075,0.03333333333333334,0.105,0.0075,0.006666666666666669,0.105,0.0225,0.020000000000000007,0.105,0.0225,0.03333333333333334,0.105,0.0225,0.006666666666666668,0.105,0.0375,0.02,0.105,0.0375,0.03333333333333334,0.105,0.0375],259,3)
-coords.setInfoOnComponents(['X [INCONNUE]','Y [INCONNUE]','Z [INCONNUE]'])
-mz.setCoords(coords)
-mz=mz.buildUnstructured()
-#
-arr0=DataArrayDouble()
-vals0=9*[-3593.,85220.,-15343.,-438.,11985.,-15343.,2716.,-61248.,-15343.,5488.,101072.,-16250.,549.,13186.,-16250.,-4389.,-74699.,-16250.,9988.,101646.,-17156.,1537.,14386.,-17156.,-6913.,-72874.,-17156.,22178.,120238.,-19521.,2342.,14222.,-19521.,-17493.,-91793.,-19521.,37737.,139840.,-21887.,3147.,14059.,-21887.,-31443.,-111722.,-21887.,34350.,140668.,-18690.,3714.,16214.,-18690.,-26922.,-108238.,-18690.,34563.,153494.,-15493.,4281.,18370.,-15493.,-26000.,-116753.,-15493.,2147.,115356.,-15418.,1921.,15178.,-15418.,1695.,-84999.,-15418.,12408.,118616.,-17470.,2131.,14700.,-17470.,-8144.,-89215.,-17470.,15624.,100983.,-16718.,2286.,15441.,-16718.,-11050.,-70101.,-16718.,19381.,102680.,-17191.,2505.,16813.,-17191.,-14370.,-69054.,-17191.,22911.,103615.,-17665.,2725.,18184.,-17665.,-17461.,-67245.,-17665.,32377.,125140.,-20005.,4011.,17741.,-20005.,-24353.,-89657.,-20005.,43183.,147067.,-22345.,5298.,17297.,-22345.,-32586.,-112472.,-22345.,41570.,144664.,-22105.,4896.,15874.,-22105.,-31778.,-112915.,-22105.,40070.,142637.,-21866.,4493.,14451.,-21866.,-31083.,-113734.,-21866.,25367.,121066.,-19292.,3390.,14946.,-19292.,-18587.,-91173.,-19292.,28901.,123199.,-19648.,3701.,16343.,-19648.,-21499.,-90512.,-19648.,23716.,103481.,-17470.,2234.,18509.,-17470.,-19247.,-66463.,-17470.,22561.,104808.,-17142.,1238.,20732.,-17142.,-20084.,-63343.,-17142.,21499.,106443.,-16813.,242.,22956.,-16813.,-21014.,-60531.,-16813.,32906.,133441.,-20775.,3873.,26633.,-20775.,-25158.,-80173.,-20775.,45801.,160885.,-24737.,7505.,30311.,-24737.,-30791.,-100262.,-24737.,44184.,154705.,-23601.,5922.,24329.,-23601.,-32340.,-106046.,-23601.,42566.,148521.,-22465.,4338.,18347.,-22465.,-33888.,-111825.,-22465.,32545.,125822.,-19968.,3286.,18428.,-19968.,-25972.,-88965.,-19968.,32703.,129556.,-20371.,3580.,22531.,-20371.,-25542.,-84493.,-20371.,-580.,50781.,-14878.,-188.,10419.,-14878.,203.,-29941.,-14878.,974.,53486.,-13087.,-197.,11696.,-13087.,-1370.,-30094.,-13087.,2154.,54941.,-11297.,-206.,12972.,-11297.,-2567.,-28996.,-11297.,4921.,72039.,-13221.,709.,13770.,-13221.,-3503.,-44499.,-13221.,6472.,88772.,-15144.,1624.,14567.,-15144.,-3223.,-59637.,-15144.,4104.,85353.,-15580.,600.,13047.,-15580.,-2903.,-59258.,-15580.,1258.,80341.,-16016.,-423.,11526.,-16016.,-2105.,-57288.,-16016.,-822.,65212.,-15447.,-306.,10973.,-15447.,210.,-43266.,-15447.,2262.,69336.,-14334.,201.,12371.,-14334.,-1859.,-44593.,-14334.,4047.,55415.,-11562.,137.,13264.,-11562.,-3772.,-28887.,-11562.,6455.,56737.,-11164.,80.,14219.,-11164.,-6294.,-28298.,-11164.,8701.,57516.,-10766.,23.,15175.,-10766.,-8653.,-27166.,-10766.,12843.,74210.,-13196.,662.,16118.,-13196.,-11519.,-41972.,-13196.,17837.,91160.,-15627.,1300.,17062.,-15627.,-15237.,-57034.,-15627.,14573.,90279.,-15674.,1166.,15841.,-15674.,-12240.,-58596.,-15674.,11497.,90026.,-15722.,1033.,14619.,-15722.,-9431.,-60786.,-15722.,7014.,72493.,-13642.,585.,13941.,-13642.,-5844.,-44609.,-13642.,9922.,73330.,-13419.,623.,15030.,-13419.,-8675.,-43270.,-13419.,9608.,58062.,-10666.,-408.,15882.,-10666.,-10425.,-26297.,-10666.,10622.,58358.,-9978.,-497.,16431.,-9978.,-11617.,-25496.,-9978.,11722.,58941.,-9290.,-587.,16979.,-9290.,-12896.,-24981.,-9290.,14386.,76411.,-12130.,-417.,19190.,-12130.,-15221.,-38029.,-12130.,18009.,94168.,-14969.,-248.,21401.,-14969.,-18505.,-51365.,-14969.,19049.,93091.,-15325.,999.,19998.,-15325.,-17050.,-53095.,-15325.,20242.,92527.,-15681.,2246.,18594.,-15681.,-15748.,-55338.,-15681.,14435.,75147.,-13174.,919.,17238.,-13174.,-12597.,-40670.,-13174.,14351.,75579.,-12652.,250.,18214.,-12652.,-13849.,-39150.,-12652.0]
-arr0.setValues(vals0,1458,3)
-arr0.setInfoOnComponents(['SIXX','SIYY','SIYZ'])
-f0z=MEDCouplingFieldDouble(ON_GAUSS_PT)
-f0z.setMesh(mz)
-f0z.setArray(arr0)
-f0z.setGaussLocalizationOnType(NORM_QUAD9,[-1,-1,1,-1,1,1,-1,1,0,-1,1,0,0,1,-1,0,0,0],[-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0,-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0,-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0],[0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123,0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123,0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123])
-f0z.setName("SolutionSIEF_ELGA")
-f0z.checkConsistencyLight()
-ff0z=MEDFileField1TS()
-ff0z.setFieldNoProfileSBT(f0z)
-#
-arr1=DataArrayDouble([158663.,171562.,32597.,37341.,118998.,128979.,88846.,94935.,28786.,32250.,67038.,71287.,102742.,108939.,32907.,37716.,0.,0.,138922.,155768.,41391.,47731.,114491.,128395.,94101.,100197.,31445.,35939.,67322.,71913.,94031.,103701.,34833.,39475.,0.,0.,142412.,160086.,42700.,49041.,113826.,128551.,92705.,102386.,34032.,38580.,61698.,69417.,96177.,104283.,38223.,40570.,0.,0.,87935.,89674.,30482.,34419.,66325.,69150.,53964.,55380.,28306.,32157.,37909.,40395.,53662.,55355.,22264.,24611.,0.,0.,94013.,100457.,31768.,36134.,68065.,73681.,53358.,55305.,23341.,26188.,32996.,35203.,52496.,56792.,23849.,26556.,0.,0.,92797.,102692.,33656.,38268.,61244.,68735.,52594.,56740.,24539.,27146.,29157.,33011.,52853.,57683.,25671.,28315.,0.,0.,53581.,55745.,27972.,31820.,37174.,39935.,29236.,31416.,22475.,25354.,20531.,23672.,25557.,26298.,15741.,17492.,0.,0.,53385.,55725.,23224.,25998.,32556.,35093.,25809.,26619.,16518.,18338.,18447.,21219.,23343.,26173.,16948.,19353.,0.,0.,52384.,56725.,24293.,26951.,29491.,33373.,23510.,26382.,17117.,19543.,19649.,22252.,26670.,30680.,19554.,22512.,0.,0.,158781.,178651.,54413.,62227.,103151.,116693.,96177.,104283.,38223.,40570.,56254.,64331.,92705.,102386.,34032.,38580.,0.,0.,142873.,161033.,43285.,49854.,113088.,127440.,94031.,103701.,34833.,39475.,61888.,69552.,94101.,100197.,31445.,35939.,0.,0.,132908.,149284.,42933.,49391.,109280.,123481.,102742.,108939.,32907.,37716.,75662.,80547.,88846.,94935.,28786.,32250.,0.,0.,96505.,105010.,37990.,40710.,56669.,64741.,52853.,57683.,25671.,28315.,26824.,30727.,52594.,56740.,24539.,27146.,0.,0.,92360.,101577.,33582.,37900.,61559.,69237.,52496.,56792.,23849.,26556.,29094.,32746.,53358.,55305.,23341.,26188.,0.,0.,95615.,101326.,31440.,36083.,69356.,73116.,53662.,55355.,22264.,24611.,31957.,34376.,53964.,55380.,28306.,32157.,0.,0.,53029.,58077.,25636.,28363.,27182.,31122.,26670.,30680.,19554.,22512.,20758.,22139.,23510.,26382.,17117.,19543.,0.,0.,52348.,56723.,23922.,26648.,29286.,32993.,23343.,26173.,16948.,19353.,19615.,22178.,25809.,26619.,16518.,18338.,0.,0.,53623.,55229.,22321.,24800.,32700.,34971.,25557.,26298.,15741.,17492.,18986.,21836.,29236.,31416.,22475.,25354.,0.,0.,64897.,69997.,64897.,69997.,64897.,69997.,81086.,90448.,81086.,90448.,81086.,90448.,85289.,98323.,85289.,98323.,0.,0.,71712.,82585.,71712.,82585.,71712.,82585.,83868.,96651.,83868.,96651.,83868.,96651.,86266.,99505.,86266.,99505.,0.,0.,77671.,89574.,77671.,89574.,77671.,89574.,86057.,99277.,86057.,99277.,86057.,99277.,86664.,99373.,86664.,99373.,0.,0.,80105.,91799.,80105.,91799.,80105.,91799.,86589.,99313.,86589.,99313.,86589.,99313.,85997.,97609.,85997.,97609.,0.,0.,79826.,90350.,79826.,90350.,79826.,90350.,86438.,98180.,86438.,98180.,86438.,98180.,85995.,95152.,85995.,95152.,0.,0.,75137.,82756.,75137.,82756.,75137.,82756.,88617.,98610.,88617.,98610.,88617.,98610.,79961.,83623.,79961.,83623.,0.,0.,79241.,88756.,79241.,88756.,79241.,88756.,84552.,97374.,84552.,97374.,84552.,97374.,93024.,107413.,93024.,107413.,0.,0.,85301.,98315.,85301.,98315.,85301.,98315.,92453.,106752.,92453.,106752.,92453.,106752.,93783.,108035.,93783.,108035.,0.,0.,86813.,100152.,86813.,100152.,86813.,100152.,93530.,107737.,93530.,107737.,93530.,107737.,92512.,106099.,92512.,106099.,0.,0.,87195.,100044.,87195.,100044.,87195.,100044.,92527.,106109.,92527.,106109.,92527.,106109.,90156.,102760.,90156.,102760.,0.,0.,87342.,99233.,87342.,99233.,87342.,99233.,90384.,103001.,90384.,103001.,90384.,103001.,85458.,96494.,85458.,96494.,0.,0.,90428.,100728.,90428.,100728.,90428.,100728.,85454.,96396.,85454.,96396.,85454.,96396.,70692.,78323.,70692.,78323.,0.,0.,84617.,97440.,84617.,97440.,84617.,97440.,83973.,96607.,83973.,96607.,83973.,96607.,92886.,106795.,92886.,106795.,0.,0.,92294.,106564.,92294.,106564.,92294.,106564.,92515.,106364.,92515.,106364.,92515.,106364.,94158.,108033.,94158.,108033.,0.,0.,93639.,107861.,93639.,107861.,93639.,107861.,93950.,107796.,93950.,107796.,93950.,107796.,91874.,105168.,91874.,105168.,0.,0.,92701.,106313.,92701.,106313.,92701.,106313.,91869.,105167.,91869.,105167.,91869.,105167.,87044.,99369.,87044.,99369.,0.,0.,90450.,103104.,90450.,103104.,90450.,103104.,87236.,99605.,87236.,99605.,87236.,99605.,78375.,89211.,78375.,89211.,0.,0.,84833.,95787.,84833.,95787.,84833.,95787.,78665.,89521.,78665.,89521.,78665.,89521.,63448.,71985.,63448.,71985.,0.,0.,9194.,10306.,41521.,44441.,79431.,85178.,8946.,9792.,22335.,23886.,51736.,54740.,7726.,8300.,30477.,32533.,0.,0.,25028.,27404.,28235.,31471.,75379.,84132.,7236.,8309.,29539.,31536.,54052.,58395.,22577.,23370.,39152.,41429.,0.,0.,37235.,42691.,35353.,38183.,100490.,111738.,23433.,25843.,36759.,39109.,53411.,59694.,57437.,65025.,61345.,68878.,0.,0.,6377.,6683.,22457.,23448.,49503.,50751.,10380.,10835.,19266.,19610.,28417.,28750.,20732.,22044.,26521.,27276.,0.,0.,10131.,11681.,28482.,29670.,52601.,56753.,20722.,21728.,25680.,25959.,30780.,31657.,32161.,33290.,33096.,34633.,0.,0.,21380.,22651.,37121.,39923.,54598.,60751.,34744.,36379.,35111.,37417.,35939.,39080.,46708.,51426.,44384.,48624.,0.,0.,10952.,11418.,19643.,20167.,28488.,29118.,20182.,20242.,18359.,18431.,16718.,16900.,24621.,25169.,20737.,21234.,0.,0.,20251.,21309.,25725.,26026.,31355.,32256.,24539.,25102.,20991.,21593.,17889.,18639.,31588.,32417.,27170.,29235.,0.,0.,33431.,35174.,34427.,36736.,35916.,38926.,31741.,32451.,27148.,29040.,23993.,27214.,38993.,40689.,36596.,40772.,0.,0.,41907.,48128.,77947.,87844.,152033.,169876.,57437.,65025.,61345.,68878.,74154.,85533.,23433.,25843.,36759.,39109.,0.,0.,33932.,38310.,36200.,40713.,99297.,111743.,22577.,23370.,39152.,41429.,57432.,62292.,7236.,8309.,29539.,31536.,0.,0.,22968.,26297.,27645.,30092.,72463.,80413.,7726.,8300.,30477.,32533.,57469.,61055.,8946.,9792.,22335.,23886.,0.,0.,48710.,53918.,59260.,65402.,77350.,87781.,46708.,51426.,44384.,48624.,50354.,58143.,34744.,36379.,35111.,37417.,0.,0.,20908.,22670.,38133.,39669.,56332.,59453.,32161.,33290.,33096.,34633.,34367.,36793.,20722.,21728.,25680.,25959.,0.,0.,7404.,8010.,30073.,32272.,55210.,58955.,20732.,22044.,26521.,27276.,32434.,32943.,10380.,10835.,19266.,19610.,0.,0.,45425.,49667.,44460.,48383.,51014.,58851.,38993.,40689.,36596.,40772.,38865.,44837.,31741.,32451.,27148.,29040.,0.,0.,31595.,32602.,33322.,34837.,35379.,37698.,31588.,32417.,27170.,29235.,24035.,27311.,24539.,25102.,20991.,21593.,0.,0.,19475.,20577.,25384.,25965.,31447.,32050.,24621.,25169.,20737.,21234.,17759.,18414.,20182.,20242.,18359.,18431.,0.,0.],486,2)
-arr1.setInfoOnComponents(['VMIS','TRESCA'])
-f1z=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f1z.setName("SolutionSIEQ_ELNO")
-f1z.setArray(arr1)
-f1z.setMesh(mz)
-f1z.checkConsistencyLight()
-ff1z=MEDFileField1TS()
-ff1z.setFieldNoProfileSBT(f1z)
-#
-arr2=DataArrayDouble([4.938269266683534e-28,-6.232001151245993e-28,1.0602290566170399e-27,4.029857051193646e-29,-1.1103217240985741e-27,-1.5536615528327828e-27,1.5241233363338648e-28,-3.015674201798923e-30,-1.02980203874559e-30,2.72351596604712e-29,-1.1888246600739933e-29,-2.69937196846485e-29,-4.7437993223547586e-07,1.3496193329105202e-07,-7.295395086913946e-07,7.054959528904149e-08,-8.433644218153947e-07,-1.3140517414252605e-08,-4.6699282590396373e-07,-4.307881601165781e-21,-7.181557182928824e-07,-8.028640214851634e-21,-8.231757491716489e-07,-1.2311604671716488e-20,6.500213859021137e-28,-5.36425415550288e-29,2.082592789783471e-28,1.3252863207712998e-28,-4.743799322354692e-07,-1.3496193329105909e-07,-7.295395086913853e-07,-7.054959528905818e-08,-8.433644218153849e-07,1.3140517414226876e-08,6.058451752097371e-28,5.632466863278024e-28,2.208810534618833e-28,2.2876966251409342e-28,-6.120655339318954e-07,1.623023866978208e-20,-7.136250920460284e-07,4.359903572644498e-20,-6.995066975751433e-07,7.373674095935513e-20,0.0,1.4598897976731362e-43,0.0,5.997557427310217e-43,0.0,1.156071233067974e-43,0.0,6.726232628759122e-44,0.0,1.0089348943138683e-43,-4.76082153061813e-07,1.7635130038063272e-07,-7.252650834474581e-07,1.797684522608815e-07,-7.726301925249592e-07,1.3593814652780474e-07,1.28713440720985e-28,8.66262871593868e-30,-1.7918024758329104e-28,1.9633850833341234e-29,-4.7608215306193535e-07,-1.7635130038060178e-07,-7.252650834476241e-07,-1.797684522607695e-07,-7.726301925251186e-07,-1.3593814652760442e-07,-3.0106055763582786e-29,-3.568658720396775e-29,-2.2739766223848432e-29,-1.6603258665331888e-29,-4.741010514018535e-07,5.448590612379579e-08,-4.701818411901992e-07,1.6663000490694165e-08,-7.453102534678627e-07,2.7357217239441644e-08,-7.279540615613018e-07,3.4371113890668217e-09,-8.579330208754989e-07,-2.6008405171390205e-08,-8.357526525453042e-07,-2.5729239758795502e-08,-4.701818411901952e-07,-1.6663000490702818e-08,-4.741010514018457e-07,-5.448590612380402e-08,-7.279540615612966e-07,-3.4371113890835274e-09,-7.45310253467852e-07,-2.7357217239458564e-08,-8.357526525452993e-07,2.572923975877074e-08,-8.579330208754882e-07,2.6008405171364682e-08,0.0,-3.689838846534034e-21,0.0,-3.4057248282497575e-21,0.0,-2.389474304570763e-21,0.0,1.1849907150798524e-21,0.0,7.728930340233592e-21,0.0,-9.409753747161713e-21,0.0,-9.27355993916331e-21,0.0,-5.9005465375222355e-21,0.0,3.45820724462685e-21,0.0,2.0021147143626658e-20,0.0,-1.6042705688202718e-20,0.0,-1.541762360721681e-20,0.0,-8.827856096357078e-21,0.0,6.3984676397065826e-21,0.0,3.396409774956617e-20,-5.21059344905059e-07,1.0785416831218214e-07,-5.942832234061152e-07,1.1284412735292002e-07,-7.291198556954883e-07,1.5975182005082218e-07,-7.29419534669376e-07,1.4146009988497262e-07,-7.536819640264805e-07,1.388363757438669e-07,-7.212688685979149e-07,1.1197909398607218e-07,-5.94283223406162e-07,-1.1284412735287996e-07,-5.210593449051535e-07,-1.0785416831213956e-07,-7.294195346694393e-07,-1.4146009988486582e-07,-7.291198556956173e-07,-1.5975182005070884e-07,-7.212688685979762e-07,-1.1197909398589052e-07,-7.536819640266044e-07,-1.3883637574367513e-07,-2.8576578578864835e-07,1.301140611795876e-07,-6.228581335977658e-07,1.1144407150470386e-07,-8.014360278229913e-07,2.882237382538957e-08,-2.6588034168431343e-07,-2.345549761149889e-21,-6.148909793824232e-07,-5.981322827533954e-21,-7.85277352863385e-07,-1.0225807644204478e-20,3.1049565229499025e-27,-4.196740015775783e-28,-2.887230913108903e-28,-4.403551231441193e-28,4.812051521848172e-29,3.851635443793833e-28,-2.857657857886445e-07,-1.301140611795897e-07,-6.228581335977572e-07,-1.1144407150471579e-07,-8.01436027822981e-07,-2.8822373825410947e-08,-1.5635223141480454e-27,-9.802651538976083e-29,3.278505922098525e-27,-6.797558254135845e-28,4.1020767071492614e-27,5.932234007262009e-28,-4.410314084022777e-07,7.268022452197178e-21,-6.915240267186082e-07,2.9979998916103056e-20,-7.135613152026231e-07,5.968769864060137e-20,0.0,1.793662034335766e-43,0.0,1.793662034335766e-43,0.0,8.96831017167883e-43,0.0,-5.6519283938616335e-43,0.0,1.0761972206014595e-42,0.0,9.269247757898544e-43,-2.627131752301911e-07,1.3274214899302934e-07,-6.329945799890571e-07,1.9265484727832687e-07,-7.677771910976133e-07,1.6184720841148966e-07,1.5146129380243427e-28,-5.494056542378401e-29,1.0988346067719275e-50,3.891714187734575e-29,2.524354896707238e-28,1.6407579324035087e-28,-2.62713175230267e-07,-1.3274214899303003e-07,-6.329945799892127e-07,-1.9265484727825895e-07,-7.677771910977852e-07,-1.6184720841133102e-07,-1.5146129380243427e-28,6.686637000472881e-29,-1.5146129380243427e-28,5.412840523535707e-29,5.048709949123486e-29,-1.0255191767873153e-29,-4.801584184334589e-07,9.447106112382042e-08,-2.646155245804423e-07,4.165624981437424e-08,-4.7283844479037397e-07,3.112099903692373e-08,-2.656912190102633e-07,1.2633757629192664e-08,-4.6803908104000066e-07,8.091752496288301e-09,-7.484767456103177e-07,4.8063930505815753e-08,-6.342336387597463e-07,4.783223809223803e-08,-7.371756425756432e-07,1.2491484933343017e-08,-6.217198644652372e-07,1.3160740615455145e-08,-7.210619794360716e-07,-6.140998451021678e-11,-8.616398069136549e-07,-2.0279767975595878e-08,-8.174867338143947e-07,1.761743718501197e-09,-8.474965025861739e-07,-2.8360688201075687e-08,-7.969390370704656e-07,-1.0156396041453297e-08,-8.26809188564297e-07,-1.6608029814857525e-08,-4.6803908103999843e-07,-8.091752496296909e-09,-2.6569121901026077e-07,-1.2633757629197396e-08,-4.72838444790368e-07,-3.112099903693232e-08,-2.6461552458043755e-07,-4.165624981437841e-08,-4.801584184334501e-07,-9.447106112382803e-08,-7.210619794360687e-07,6.140998449395655e-11,-6.217198644652322e-07,-1.3160740615467643e-08,-7.37175642575635e-07,-1.2491484933360037e-08,-6.342336387597367e-07,-4.783223809225061e-08,-7.484767456103061e-07,-4.8063930505832595e-08,-8.268091885642944e-07,1.6608029814832955e-08,-7.969390370704601e-07,1.015639604143253e-08,-8.474965025861654e-07,2.836068820105083e-08,-8.174867338143834e-07,-1.7617437185225845e-09,-8.616398069136434e-07,2.02797679755703e-08,0.0,-3.435877556189529e-21,0.0,-1.3776771401529971e-21,0.0,-3.403994495899553e-21,0.0,-1.3185754926235634e-21,0.0,-2.7680254878980847e-21,0.0,-1.1103673324958778e-21,0.0,-9.900107724251277e-22,0.0,4.77602156134974e-22,0.0,3.959146546409973e-21,0.0,3.776411006916986e-21,0.0,1.2124392797414627e-20,0.0,-8.731709783191639e-21,0.0,-6.144329300702704e-21,0.0,-8.89968038381516e-21,0.0,-5.404653063609732e-21,0.0,-7.547524363424233e-21,0.0,-3.3206893791145496e-21,0.0,-1.6246546029348425e-21,0.0,1.9854969588545943e-21,0.0,1.1317236337409485e-20,0.0,1.3983874347413824e-20,0.0,3.098996503833694e-20,0.0,-1.407865292807831e-20,0.0,-1.1626000835692668e-20,0.0,-1.533412146384094e-20,0.0,-1.1018823571603408e-20,0.0,-1.2512374860235445e-20,0.0,-6.514267779823197e-21,0.0,-2.4719015385819347e-21,0.0,4.858859984935085e-21,0.0,1.881348220188166e-20,0.0,2.740874292245713e-20,0.0,5.211376231395407e-20,-4.864225626157067e-07,1.3296728230814142e-07,-3.076586015279749e-07,6.740802636874205e-08,-5.594534933091086e-07,1.1066583698276748e-07,-3.841186138586638e-07,7.559745482599735e-08,-6.098267681100678e-07,9.875238991849593e-08,-7.2970765755297e-07,1.669225383108583e-07,-6.573316628421653e-07,1.465581454371536e-07,-7.316181481946474e-07,1.5542337568784254e-07,-6.912676702186072e-07,1.3829023572925456e-07,-7.20589385417476e-07,9.666451163676767e-08,-7.723884127434406e-07,1.3857930563622999e-07,-7.569169347428396e-07,1.547516335925935e-07,-7.383025429990218e-07,1.3271074092312e-07,-7.350854918831709e-07,1.2994146610617741e-07,-7.0646090437235e-07,6.938656131041383e-08,-6.098267681100908e-07,-9.875238991845998e-08,-3.841186138586908e-07,-7.559745482597872e-08,-5.594534933091803e-07,-1.1066583698272561e-07,-3.0765860152803245e-07,-6.740802636872275e-08,-4.864225626158294e-07,-1.329672823081032e-07,-7.20589385417508e-07,-9.666451163666813e-08,-6.912676702186662e-07,-1.3829023572918171e-07,-7.316181481947439e-07,-1.5542337568773118e-07,-6.573316628422832e-07,-1.4655814543707692e-07,-7.297076575531353e-07,-1.6692253831074535e-07,-7.064609043723808e-07,-6.938656131024667e-08,-7.350854918832338e-07,-1.2994146610603196e-07,-7.383025429991161e-07,-1.3271074092293177e-07,-7.56916934742969e-07,-1.5475163359243975e-07,-7.723884127435972e-07,-1.3857930563603445e-07,-2.6225523866596743e-07,7.368618860781533e-08,-2.6483901297419715e-07,2.3043552983380804e-08,-2.6569368384400127e-07,6.351605004005378e-09,-6.372294401265312e-07,7.723333950374213e-08,-6.279151194946851e-07,2.6473214771574048e-08,-6.169026138715963e-07,5.559932643680484e-09,-8.206671947434617e-07,1.419786412636469e-08,-8.077626999789484e-07,-6.830966026358984e-09,-7.886512424652054e-07,-7.805683188152915e-09,-2.6569368384400005e-07,-6.351605004010108e-09,-2.648390129741935e-07,-2.3043552983385364e-08,-2.622552386659623e-07,-7.36861886078186e-08,-6.169026138715935e-07,-5.559932643692688e-09,-6.279151194946777e-07,-2.647321477158676e-08,-6.372294401265209e-07,-7.723333950375434e-08,-7.886512424652024e-07,7.805683188132495e-09,-8.077626999789395e-07,6.830966026337777e-09,-8.2066719474345e-07,-1.4197864126386033e-08,0.0,-1.528080794868089e-21,0.0,-1.5426894495622164e-21,0.0,-1.1495211961775125e-21,0.0,-4.441807280413718e-22,0.0,1.9784166326767865e-21,0.0,5.420802477152069e-21,0.0,-6.12858914756041e-21,0.0,-6.197208509921192e-21,0.0,-4.895012827081806e-21,0.0,-1.2104071985400557e-21,0.0,7.207223659623184e-21,0.0,2.1139789648778443e-20,0.0,-1.178112680978544e-20,0.0,-1.2361618534325795e-20,0.0,-9.332953007651742e-21,0.0,-2.4549106998298197e-21,0.0,1.5192320364423287e-20,0.0,4.128606459003346e-20,-2.6179012371741095e-07,8.492155525093568e-08,-3.431936650750607e-07,6.526689580555302e-08,-4.206987870183037e-07,7.275786337707596e-08,-6.39565352471141e-07,1.6214246375922057e-07,-6.76924119958337e-07,1.4588367240696607e-07,-6.94035042843604e-07,1.042901908413762e-07,-7.689004953903582e-07,1.574343097081281e-07,-7.476782438785353e-07,1.489103868358007e-07,-7.209785981316606e-07,8.394206942691553e-08,-4.2069878701831687e-07,-7.275786337705938e-08,-3.431936650751034e-07,-6.52668958055331e-08,-2.617901237174839e-07,-8.492155525092188e-08,-6.940350428436335e-07,-1.0429019084130907e-07,-6.769241199584262e-07,-1.458836724068901e-07,-6.39565352471292e-07,-1.6214246375914686e-07,-7.209785981316918e-07,-8.394206942678136e-08,-7.476782438786325e-07,-1.4891038683565012e-07,-7.68900495390525e-07,-1.574343097079712e-07],259,2)
-arr2.setInfoOnComponents(['DRX','DRZ'])
-f2z=MEDCouplingFieldDouble(ON_NODES) ; f2z.setName("SolutionDEPL") ; f2z.setArray(arr2)
-f2z.setMesh(mz)
-f2z.checkConsistencyLight()
-ff2z=MEDFileField1TS()
-ff2z.setFieldNoProfileSBT(f2z)
-#
-mm2=MEDFileUMesh()
-mm2.setMeshAtLevel(0,mz)
-mm2.setFamilyFieldArr(0,DataArrayInt([-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-4,-4,-4,-4,-4,-4,-4,-4,-4,-5,-5,-5,-5,-5,-5,-5,-5,-5]))
-mm2.setFamilyFieldArr(1,DataArrayInt([1,2,3,4,5,6,0,0,0,0,0,0,1,1,0,0,0,3,3,0,0,0,7,7,7,7,7,0,0,0,5,5,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,3,3,3,0,0,0,7,7,7,7,7,7,0,0,0,5,5,5,0,0,0,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]))
-for famName,famId in [('FAMILLE_ZERO',0),('ba1_beam',-1),('ba2_beam',-2),('h1',6),('h1_h2_h3',4),('h2',5),('h3',7),('h3_h4_h5',2),('h4',3),('h5',1),('to1_beam',-4),('to2_beam',-5),('web_beam',-3)]:
-    mm2.setFamilyId(famName,famId)
-    pass
-for grName,famsOnGrp in [('ba1',['ba1_beam']),('ba2',['ba2_beam']),('beam',['ba1_beam','ba2_beam','to1_beam','to2_beam','web_beam']),('h1',['h1','h1_h2_h3']),('h2',['h1_h2_h3','h2']),('h3',['h1_h2_h3','h3','h3_h4_h5']),('h4',['h3_h4_h5','h4']),('h5',['h3_h4_h5','h5']),('to1',['to1_beam']),('to2',['to2_beam']),('web',['web_beam'])]:
-    mm2.setFamiliesOnGroup(grName,famsOnGrp)
-    pass
-#
-mm2.write(fname,2)
-ff0z.write(fname,0)
-ff1z.write(fname,0)
-ff2z.write(fname,0)
-################### MED write is done -> Go to MEDReader
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-myMedReader=MEDReader(FileName=fname)
-keys=myMedReader.GetProperty("FieldsTreeInfo")[::2]
-# list all the names of arrays that can be seen (including their spatial discretization)
-arr_name_with_dis=[elt.split("/")[-1] for elt in keys]
-# list all the names of arrays (Equal to those in the MED File)
-arr_name=[elt.split(myMedReader.GetProperty("Separator").GetData())[0] for elt in arr_name_with_dis]
-myMedReader.AllArrays=keys
-
-if '-D' not in sys.argv:
-    RenderView1 = GetRenderView()
-    ELNOfieldToSurface1=ELNOfieldToSurface(Input=myMedReader)
-    ExtractGroup1=ExtractGroup(Input=ELNOfieldToSurface1)
-    #ExtractGroup1.UpdatePipelineInformation()
-    ExtractGroup1.AllGroups=['GRP_ba2','GRP_to1','GRP_web']
-    assert(isinstance(ExtractGroup1.GetProperty("MeshName")[0],str))
-    assert(ExtractGroup1.GetProperty("MeshName")[0]=="mesh")
+def GenerateCase():
+    fname="testMEDReader0.med"
+    #########
+    mz=MEDCoupling1SGTUMesh("mesh",NORM_QUAD9)
+    mz.setNodalConnectivity(DataArrayInt([0,6,37,12,76,112,113,82,205,12,37,38,13,113,114,115,83,206,13,38,9,1,115,116,79,84,207,6,7,39,37,77,117,118,112,208,37,39,40,38,118,119,120,114,209,38,40,10,9,120,121,80,116,210,7,8,41,39,78,122,123,117,211,39,41,42,40,123,124,125,119,212,40,42,11,10,125,126,81,121,213,1,9,43,17,79,127,128,88,214,17,43,44,18,128,129,130,89,215,18,44,14,2,130,131,85,90,216,9,10,45,43,80,132,133,127,217,43,45,46,44,133,134,135,129,218,44,46,15,14,135,136,86,131,219,10,11,47,45,81,137,138,132,220,45,47,48,46,138,139,140,134,221,46,48,16,15,140,141,87,136,222,1,9,49,22,79,142,143,94,223,22,49,50,23,143,144,145,95,224,23,50,51,24,145,146,147,96,225,24,51,52,25,147,148,149,97,226,25,52,53,26,149,150,151,98,227,26,53,19,3,151,152,91,99,228,9,10,54,49,80,153,154,142,229,49,54,55,50,154,155,156,144,230,50,55,56,51,156,157,158,146,231,51,56,57,52,158,159,160,148,232,52,57,58,53,160,161,162,150,233,53,58,20,19,162,163,92,152,234,10,11,59,54,81,164,165,153,235,54,59,60,55,165,166,167,155,236,55,60,61,56,167,168,169,157,237,56,61,62,57,169,170,171,159,238,57,62,63,58,171,172,173,161,239,58,63,21,20,173,174,93,163,240,4,27,64,30,100,175,176,103,241,30,64,65,31,176,177,178,104,242,31,65,19,3,178,179,91,105,243,27,28,66,64,101,180,181,175,244,64,66,67,65,181,182,183,177,245,65,67,20,19,183,184,92,179,246,28,29,68,66,102,185,186,180,247,66,68,69,67,186,187,188,182,248,67,69,21,20,188,189,93,184,249,3,19,70,35,91,190,191,109,250,35,70,71,36,191,192,193,110,251,36,71,32,5,193,194,106,111,252,19,20,72,70,92,195,196,190,253,70,72,73,71,196,197,198,192,254,71,73,33,32,198,199,107,194,255,20,21,74,72,93,200,201,195,256,72,74,75,73,201,202,203,197,257,73,75,34,33,203,204,108,199,258]))
+    coords=DataArrayDouble([-0.04,0.015,0.,0.,0.015,0.,0.04,0.015,0.,0.,0.105,0.,-0.04,0.105,0.,0.04,0.105,0.,-0.04,0.015,0.015,-0.04,0.015,0.03,-0.04,0.015,0.045,0.,0.015,0.015,0.,0.015,0.03,0.,0.015,0.045,-0.026666666666666665,0.015,0.,-0.013333333333333329,0.015,0.,0.04,0.015,0.015,0.04,0.015,0.03,0.04,0.015,0.045,0.013333333333333336,0.015,0.,0.026666666666666672,0.015,0.,0.,0.105,0.015,0.,0.105,0.03,0.,0.105,0.045,0.,0.03,0.,0.,0.045,0.,0.,0.06,0.,0.,0.075,0.,0.,0.09,0.,-0.04,0.105,0.015,-0.04,0.105,0.03,-0.04,0.105,0.045,-0.026666666666666665,0.105,0.,-0.013333333333333329,0.105,0.,0.04,0.105,0.015,0.04,0.105,0.03,0.04,0.105,0.045,0.013333333333333336,0.105,0.,0.026666666666666672,0.105,0.,-0.026666666666666665,0.015,0.015,-0.013333333333333326,0.015,0.015,-0.026666666666666665,0.015,0.03,-0.013333333333333326,0.015,0.03,-0.026666666666666665,0.015,0.045,-0.013333333333333329,0.015,0.045,0.013333333333333338,0.015,0.015,0.026666666666666675,0.015,0.015,0.013333333333333338,0.015,0.03,0.026666666666666675,0.015,0.03,0.013333333333333336,0.015,0.045,0.026666666666666672,0.015,0.045,0.,0.03,0.015,0.,0.045,0.015,0.,0.06,0.015,0.,0.07500000000000001,0.015,0.,0.09,0.015,0.,0.03,0.03,0.,0.045,0.03,0.,0.06,0.03,0.,0.075,0.03,0.,0.09,0.03,0.,0.03,0.045,0.,0.045,0.045,0.,0.06,0.045,0.,0.075,0.045,0.,0.09,0.045,-0.026666666666666665,0.105,0.015,-0.013333333333333326,0.105,0.015,-0.026666666666666665,0.105,0.03,-0.013333333333333326,0.105,0.03,-0.026666666666666665,0.105,0.045,-0.013333333333333329,0.105,0.045,0.013333333333333338,0.105,0.015,0.026666666666666675,0.105,0.015,0.013333333333333338,0.105,0.03,0.026666666666666675,0.105,0.03,0.013333333333333336,0.105,0.045,0.026666666666666672,0.105,0.045,-0.04,0.015,0.0075,-0.04,0.015,0.0225,-0.04,0.015,0.0375,0.,0.015,0.0075,0.,0.015,0.0225,0.,0.015,0.0375,-0.03333333333333333,0.015,0.,-0.02,0.015,0.,-0.0066666666666666645,0.015,0.,0.04,0.015,0.0075,0.04,0.015,0.0225,0.04,0.015,0.0375,0.006666666666666668,0.015,0.,0.02,0.015,0.,0.03333333333333334,0.015,0.,0.,0.105,0.0075,0.,0.105,0.0225,0.,0.105,0.0375,0.,0.0225,0.,0.,0.0375,0.,0.,0.0525,0.,0.,0.0675,0.,0.,0.0825,0.,0.,0.0975,0.,-0.04,0.105,0.0075,-0.04,0.105,0.0225,-0.04,0.105,0.0375,-0.03333333333333333,0.105,0.,-0.02,0.105,0.,-0.0066666666666666645,0.105,0.,0.04,0.105,0.0075,0.04,0.105,0.0225,0.04,0.105,0.0375,0.006666666666666668,0.105,0.,0.02,0.105,0.,0.03333333333333334,0.105,0.,-0.03333333333333333,0.015,0.015,-0.026666666666666665,0.015,0.0075,-0.02,0.015,0.015,-0.013333333333333327,0.015,0.0075,-0.006666666666666663,0.015,0.015,-0.03333333333333333,0.015,0.03,-0.026666666666666665,0.015,0.0225,-0.02,0.015,0.03,-0.013333333333333326,0.015,0.0225,-0.006666666666666663,0.015,0.03,-0.03333333333333333,0.015,0.045,-0.026666666666666665,0.015,0.0375,-0.02,0.015,0.045,-0.013333333333333327,0.015,0.0375,-0.0066666666666666645,0.015,0.045,0.006666666666666669,0.015,0.015,0.013333333333333336,0.015,0.0075,0.020000000000000007,0.015,0.015,0.026666666666666672,0.015,0.0075,0.03333333333333334,0.015,0.015,0.006666666666666669,0.015,0.03,0.013333333333333338,0.015,0.0225,0.02,0.015,0.03,0.026666666666666675,0.015,0.0225,0.03333333333333334,0.015,0.03,0.006666666666666668,0.015,0.045,0.013333333333333336,0.015,0.0375,0.02,0.015,0.045,0.026666666666666672,0.015,0.0375,0.03333333333333334,0.015,0.045,0.,0.0225,0.015,0.,0.03,0.0075,0.,0.0375,0.015,0.,0.045,0.0075,0.,0.0525,0.015,0.,0.06,0.0075,0.,0.0675,0.015,0.,0.07500000000000001,0.0075,0.,0.0825,0.015,0.,0.09,0.0075,0.,0.0975,0.015,0.,0.0225,0.03,0.,0.03,0.0225,0.,0.0375,0.03,0.,0.045,0.0225,0.,0.0525,0.03,0.,0.06,0.0225,0.,0.0675,0.03,0.,0.07500000000000001,0.0225,0.,0.08249999999999999,0.03,0.,0.09,0.0225,0.,0.0975,0.03,0.,0.0225,0.045,0.,0.03,0.0375,0.,0.0375,0.045,0.,0.045,0.0375,0.,0.0525,0.045,0.,0.06,0.0375,0.,0.0675,0.045,0.,0.075,0.0375,0.,0.08249999999999999,0.045,0.,0.09,0.0375,0.,0.0975,0.045,-0.03333333333333333,0.105,0.015,-0.026666666666666665,0.105,0.0075,-0.02,0.105,0.015,-0.013333333333333327,0.105,0.0075,-0.006666666666666663,0.105,0.015,-0.03333333333333333,0.105,0.03,-0.026666666666666665,0.105,0.0225,-0.02,0.105,0.03,-0.013333333333333326,0.105,0.0225,-0.006666666666666663,0.105,0.03,-0.03333333333333333,0.105,0.045,-0.026666666666666665,0.105,0.0375,-0.02,0.105,0.045,-0.013333333333333327,0.105,0.0375,-0.0066666666666666645,0.105,0.045,0.006666666666666669,0.105,0.015,0.013333333333333336,0.105,0.0075,0.020000000000000007,0.105,0.015,0.026666666666666672,0.105,0.0075,0.03333333333333334,0.105,0.015,0.006666666666666669,0.105,0.03,0.013333333333333338,0.105,0.0225,0.020000000000000007,0.105,0.03,0.026666666666666675,0.105,0.0225,0.03333333333333334,0.105,0.03,0.006666666666666668,0.105,0.045,0.013333333333333336,0.105,0.0375,0.02,0.105,0.045,0.026666666666666672,0.105,0.0375,0.03333333333333334,0.105,0.045,-0.03333333333333333,0.015,0.0075,-0.02,0.015,0.0075,-0.006666666666666664,0.015,0.0075,-0.03333333333333333,0.015,0.0225,-0.02,0.015,0.0225,-0.006666666666666663,0.015,0.0225,-0.03333333333333333,0.015,0.0375,-0.02,0.015,0.0375,-0.006666666666666662,0.015,0.0375,0.006666666666666668,0.015,0.0075,0.02,0.015,0.0075,0.03333333333333334,0.015,0.0075,0.006666666666666669,0.015,0.0225,0.020000000000000007,0.015,0.0225,0.03333333333333334,0.015,0.0225,0.006666666666666668,0.015,0.0375,0.02,0.015,0.0375,0.03333333333333334,0.015,0.0375,0.,0.0225,0.0075,0.,0.0375,0.0075,0.,0.0525,0.0075,0.,0.0675,0.0075,0.,0.0825,0.0075,0.,0.0975,0.0075,0.,0.0225,0.0225,0.,0.0375,0.0225,0.,0.0525,0.0225,0.,0.0675,0.0225,0.,0.0825,0.0225,0.,0.0975,0.0225,0.,0.0225,0.0375,0.,0.0375,0.0375,0.,0.0525,0.0375,0.,0.0675,0.0375,0.,0.08249999999999999,0.0375,0.,0.0975,0.0375,-0.03333333333333333,0.105,0.0075,-0.02,0.105,0.0075,-0.006666666666666664,0.105,0.0075,-0.03333333333333333,0.105,0.0225,-0.02,0.105,0.0225,-0.006666666666666663,0.105,0.0225,-0.03333333333333333,0.105,0.0375,-0.02,0.105,0.0375,-0.006666666666666662,0.105,0.0375,0.006666666666666668,0.105,0.0075,0.02,0.105,0.0075,0.03333333333333334,0.105,0.0075,0.006666666666666669,0.105,0.0225,0.020000000000000007,0.105,0.0225,0.03333333333333334,0.105,0.0225,0.006666666666666668,0.105,0.0375,0.02,0.105,0.0375,0.03333333333333334,0.105,0.0375],259,3)
+    coords.setInfoOnComponents(['X [INCONNUE]','Y [INCONNUE]','Z [INCONNUE]'])
+    mz.setCoords(coords)
+    mz=mz.buildUnstructured()
     #
-    DataRepresentation3 = Show()
-    DataRepresentation3.ScaleFactor = 0.008999999705702066
-    DataRepresentation3.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-    DataRepresentation3.SelectionPointFieldDataArrayName = 'SolutionSIEF_ELNO'
-    a2_SolutionSIEQ_ELNO_PiecewiseFunction = CreatePiecewiseFunction(Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0])
-    #VectorMode='Magnitude' or VectorMode='Component'
-    a2_SolutionSIEQ_ELNO_PVLookupTable = GetLookupTableForArray("SolutionSIEQ_ELNO",2,RGBPoints=[0.0, 0.23, 0.299, 0.754, 239013.7773476667, 0.706, 0.016, 0.15], VectorMode='Component', VectorComponent=1, NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-    DataRepresentation3.ScalarOpacityFunction = a2_SolutionSIEQ_ELNO_PiecewiseFunction
-    DataRepresentation3.ColorArrayName = 'SolutionSIEQ_ELNO'
-    DataRepresentation3.LookupTable = a2_SolutionSIEQ_ELNO_PVLookupTable
-    DataRepresentation3.Visibility = 1
+    arr0=DataArrayDouble()
+    vals0=9*[-3593.,85220.,-15343.,-438.,11985.,-15343.,2716.,-61248.,-15343.,5488.,101072.,-16250.,549.,13186.,-16250.,-4389.,-74699.,-16250.,9988.,101646.,-17156.,1537.,14386.,-17156.,-6913.,-72874.,-17156.,22178.,120238.,-19521.,2342.,14222.,-19521.,-17493.,-91793.,-19521.,37737.,139840.,-21887.,3147.,14059.,-21887.,-31443.,-111722.,-21887.,34350.,140668.,-18690.,3714.,16214.,-18690.,-26922.,-108238.,-18690.,34563.,153494.,-15493.,4281.,18370.,-15493.,-26000.,-116753.,-15493.,2147.,115356.,-15418.,1921.,15178.,-15418.,1695.,-84999.,-15418.,12408.,118616.,-17470.,2131.,14700.,-17470.,-8144.,-89215.,-17470.,15624.,100983.,-16718.,2286.,15441.,-16718.,-11050.,-70101.,-16718.,19381.,102680.,-17191.,2505.,16813.,-17191.,-14370.,-69054.,-17191.,22911.,103615.,-17665.,2725.,18184.,-17665.,-17461.,-67245.,-17665.,32377.,125140.,-20005.,4011.,17741.,-20005.,-24353.,-89657.,-20005.,43183.,147067.,-22345.,5298.,17297.,-22345.,-32586.,-112472.,-22345.,41570.,144664.,-22105.,4896.,15874.,-22105.,-31778.,-112915.,-22105.,40070.,142637.,-21866.,4493.,14451.,-21866.,-31083.,-113734.,-21866.,25367.,121066.,-19292.,3390.,14946.,-19292.,-18587.,-91173.,-19292.,28901.,123199.,-19648.,3701.,16343.,-19648.,-21499.,-90512.,-19648.,23716.,103481.,-17470.,2234.,18509.,-17470.,-19247.,-66463.,-17470.,22561.,104808.,-17142.,1238.,20732.,-17142.,-20084.,-63343.,-17142.,21499.,106443.,-16813.,242.,22956.,-16813.,-21014.,-60531.,-16813.,32906.,133441.,-20775.,3873.,26633.,-20775.,-25158.,-80173.,-20775.,45801.,160885.,-24737.,7505.,30311.,-24737.,-30791.,-100262.,-24737.,44184.,154705.,-23601.,5922.,24329.,-23601.,-32340.,-106046.,-23601.,42566.,148521.,-22465.,4338.,18347.,-22465.,-33888.,-111825.,-22465.,32545.,125822.,-19968.,3286.,18428.,-19968.,-25972.,-88965.,-19968.,32703.,129556.,-20371.,3580.,22531.,-20371.,-25542.,-84493.,-20371.,-580.,50781.,-14878.,-188.,10419.,-14878.,203.,-29941.,-14878.,974.,53486.,-13087.,-197.,11696.,-13087.,-1370.,-30094.,-13087.,2154.,54941.,-11297.,-206.,12972.,-11297.,-2567.,-28996.,-11297.,4921.,72039.,-13221.,709.,13770.,-13221.,-3503.,-44499.,-13221.,6472.,88772.,-15144.,1624.,14567.,-15144.,-3223.,-59637.,-15144.,4104.,85353.,-15580.,600.,13047.,-15580.,-2903.,-59258.,-15580.,1258.,80341.,-16016.,-423.,11526.,-16016.,-2105.,-57288.,-16016.,-822.,65212.,-15447.,-306.,10973.,-15447.,210.,-43266.,-15447.,2262.,69336.,-14334.,201.,12371.,-14334.,-1859.,-44593.,-14334.,4047.,55415.,-11562.,137.,13264.,-11562.,-3772.,-28887.,-11562.,6455.,56737.,-11164.,80.,14219.,-11164.,-6294.,-28298.,-11164.,8701.,57516.,-10766.,23.,15175.,-10766.,-8653.,-27166.,-10766.,12843.,74210.,-13196.,662.,16118.,-13196.,-11519.,-41972.,-13196.,17837.,91160.,-15627.,1300.,17062.,-15627.,-15237.,-57034.,-15627.,14573.,90279.,-15674.,1166.,15841.,-15674.,-12240.,-58596.,-15674.,11497.,90026.,-15722.,1033.,14619.,-15722.,-9431.,-60786.,-15722.,7014.,72493.,-13642.,585.,13941.,-13642.,-5844.,-44609.,-13642.,9922.,73330.,-13419.,623.,15030.,-13419.,-8675.,-43270.,-13419.,9608.,58062.,-10666.,-408.,15882.,-10666.,-10425.,-26297.,-10666.,10622.,58358.,-9978.,-497.,16431.,-9978.,-11617.,-25496.,-9978.,11722.,58941.,-9290.,-587.,16979.,-9290.,-12896.,-24981.,-9290.,14386.,76411.,-12130.,-417.,19190.,-12130.,-15221.,-38029.,-12130.,18009.,94168.,-14969.,-248.,21401.,-14969.,-18505.,-51365.,-14969.,19049.,93091.,-15325.,999.,19998.,-15325.,-17050.,-53095.,-15325.,20242.,92527.,-15681.,2246.,18594.,-15681.,-15748.,-55338.,-15681.,14435.,75147.,-13174.,919.,17238.,-13174.,-12597.,-40670.,-13174.,14351.,75579.,-12652.,250.,18214.,-12652.,-13849.,-39150.,-12652.0]
+    arr0.setValues(vals0,1458,3)
+    arr0.setInfoOnComponents(['SIXX','SIYY','SIYZ'])
+    f0z=MEDCouplingFieldDouble(ON_GAUSS_PT)
+    f0z.setMesh(mz)
+    f0z.setArray(arr0)
+    f0z.setGaussLocalizationOnType(NORM_QUAD9,[-1,-1,1,-1,1,1,-1,1,0,-1,1,0,0,1,-1,0,0,0],[-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0,-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0,-0.774597,-0.774597,0.774597,-0.774597,0.774597,0.774597,-0.774597,0.774597,0,-0.774597,0.774597,0,0,0.774597,-0.774597,0,0,0],[0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123,0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123,0.308642,0.308642,0.308642,0.308642,0.493827,0.493827,0.493827,0.493827,0.790123])
+    f0z.setName("SolutionSIEF_ELGA")
+    f0z.checkConsistencyLight()
+    ff0z=MEDFileField1TS()
+    ff0z.setFieldNoProfileSBT(f0z)
     #
-    ELGAfieldToPointGaussian1=ELGAfieldToPointGaussian(Input=ELNOfieldToSurface1)
-    ELGAfieldToPointGaussian1.SelectSourceArray=['CELLS','ELGA@0']
-    DataRepresentation4 = Show()
-    DataRepresentation4.ScaleFactor = 0.008999999705702066
-    DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-    DataRepresentation4.SelectionPointFieldDataArrayName = 'SolutionSIEF_ELGA'
-    DataRepresentation4.ColorArrayName = 'SolutionSIEF_ELGA'
-    ########
-    RenderView1.CameraViewUp = [-0.19545466285945437, 0.837274140321886, -0.5106559396646081]
-    RenderView1.CameraPosition = [0.11797550069274401, 0.20119836056342144, 0.20885419432082736]
-    RenderView1.CameraFocalPoint = [1.0170565790969026e-18, 0.0599999981932342, 0.022500000894069675]
-    RenderView1.ViewSize =[300,300]
-    Render()
+    arr1=DataArrayDouble([158663.,171562.,32597.,37341.,118998.,128979.,88846.,94935.,28786.,32250.,67038.,71287.,102742.,108939.,32907.,37716.,0.,0.,138922.,155768.,41391.,47731.,114491.,128395.,94101.,100197.,31445.,35939.,67322.,71913.,94031.,103701.,34833.,39475.,0.,0.,142412.,160086.,42700.,49041.,113826.,128551.,92705.,102386.,34032.,38580.,61698.,69417.,96177.,104283.,38223.,40570.,0.,0.,87935.,89674.,30482.,34419.,66325.,69150.,53964.,55380.,28306.,32157.,37909.,40395.,53662.,55355.,22264.,24611.,0.,0.,94013.,100457.,31768.,36134.,68065.,73681.,53358.,55305.,23341.,26188.,32996.,35203.,52496.,56792.,23849.,26556.,0.,0.,92797.,102692.,33656.,38268.,61244.,68735.,52594.,56740.,24539.,27146.,29157.,33011.,52853.,57683.,25671.,28315.,0.,0.,53581.,55745.,27972.,31820.,37174.,39935.,29236.,31416.,22475.,25354.,20531.,23672.,25557.,26298.,15741.,17492.,0.,0.,53385.,55725.,23224.,25998.,32556.,35093.,25809.,26619.,16518.,18338.,18447.,21219.,23343.,26173.,16948.,19353.,0.,0.,52384.,56725.,24293.,26951.,29491.,33373.,23510.,26382.,17117.,19543.,19649.,22252.,26670.,30680.,19554.,22512.,0.,0.,158781.,178651.,54413.,62227.,103151.,116693.,96177.,104283.,38223.,40570.,56254.,64331.,92705.,102386.,34032.,38580.,0.,0.,142873.,161033.,43285.,49854.,113088.,127440.,94031.,103701.,34833.,39475.,61888.,69552.,94101.,100197.,31445.,35939.,0.,0.,132908.,149284.,42933.,49391.,109280.,123481.,102742.,108939.,32907.,37716.,75662.,80547.,88846.,94935.,28786.,32250.,0.,0.,96505.,105010.,37990.,40710.,56669.,64741.,52853.,57683.,25671.,28315.,26824.,30727.,52594.,56740.,24539.,27146.,0.,0.,92360.,101577.,33582.,37900.,61559.,69237.,52496.,56792.,23849.,26556.,29094.,32746.,53358.,55305.,23341.,26188.,0.,0.,95615.,101326.,31440.,36083.,69356.,73116.,53662.,55355.,22264.,24611.,31957.,34376.,53964.,55380.,28306.,32157.,0.,0.,53029.,58077.,25636.,28363.,27182.,31122.,26670.,30680.,19554.,22512.,20758.,22139.,23510.,26382.,17117.,19543.,0.,0.,52348.,56723.,23922.,26648.,29286.,32993.,23343.,26173.,16948.,19353.,19615.,22178.,25809.,26619.,16518.,18338.,0.,0.,53623.,55229.,22321.,24800.,32700.,34971.,25557.,26298.,15741.,17492.,18986.,21836.,29236.,31416.,22475.,25354.,0.,0.,64897.,69997.,64897.,69997.,64897.,69997.,81086.,90448.,81086.,90448.,81086.,90448.,85289.,98323.,85289.,98323.,0.,0.,71712.,82585.,71712.,82585.,71712.,82585.,83868.,96651.,83868.,96651.,83868.,96651.,86266.,99505.,86266.,99505.,0.,0.,77671.,89574.,77671.,89574.,77671.,89574.,86057.,99277.,86057.,99277.,86057.,99277.,86664.,99373.,86664.,99373.,0.,0.,80105.,91799.,80105.,91799.,80105.,91799.,86589.,99313.,86589.,99313.,86589.,99313.,85997.,97609.,85997.,97609.,0.,0.,79826.,90350.,79826.,90350.,79826.,90350.,86438.,98180.,86438.,98180.,86438.,98180.,85995.,95152.,85995.,95152.,0.,0.,75137.,82756.,75137.,82756.,75137.,82756.,88617.,98610.,88617.,98610.,88617.,98610.,79961.,83623.,79961.,83623.,0.,0.,79241.,88756.,79241.,88756.,79241.,88756.,84552.,97374.,84552.,97374.,84552.,97374.,93024.,107413.,93024.,107413.,0.,0.,85301.,98315.,85301.,98315.,85301.,98315.,92453.,106752.,92453.,106752.,92453.,106752.,93783.,108035.,93783.,108035.,0.,0.,86813.,100152.,86813.,100152.,86813.,100152.,93530.,107737.,93530.,107737.,93530.,107737.,92512.,106099.,92512.,106099.,0.,0.,87195.,100044.,87195.,100044.,87195.,100044.,92527.,106109.,92527.,106109.,92527.,106109.,90156.,102760.,90156.,102760.,0.,0.,87342.,99233.,87342.,99233.,87342.,99233.,90384.,103001.,90384.,103001.,90384.,103001.,85458.,96494.,85458.,96494.,0.,0.,90428.,100728.,90428.,100728.,90428.,100728.,85454.,96396.,85454.,96396.,85454.,96396.,70692.,78323.,70692.,78323.,0.,0.,84617.,97440.,84617.,97440.,84617.,97440.,83973.,96607.,83973.,96607.,83973.,96607.,92886.,106795.,92886.,106795.,0.,0.,92294.,106564.,92294.,106564.,92294.,106564.,92515.,106364.,92515.,106364.,92515.,106364.,94158.,108033.,94158.,108033.,0.,0.,93639.,107861.,93639.,107861.,93639.,107861.,93950.,107796.,93950.,107796.,93950.,107796.,91874.,105168.,91874.,105168.,0.,0.,92701.,106313.,92701.,106313.,92701.,106313.,91869.,105167.,91869.,105167.,91869.,105167.,87044.,99369.,87044.,99369.,0.,0.,90450.,103104.,90450.,103104.,90450.,103104.,87236.,99605.,87236.,99605.,87236.,99605.,78375.,89211.,78375.,89211.,0.,0.,84833.,95787.,84833.,95787.,84833.,95787.,78665.,89521.,78665.,89521.,78665.,89521.,63448.,71985.,63448.,71985.,0.,0.,9194.,10306.,41521.,44441.,79431.,85178.,8946.,9792.,22335.,23886.,51736.,54740.,7726.,8300.,30477.,32533.,0.,0.,25028.,27404.,28235.,31471.,75379.,84132.,7236.,8309.,29539.,31536.,54052.,58395.,22577.,23370.,39152.,41429.,0.,0.,37235.,42691.,35353.,38183.,100490.,111738.,23433.,25843.,36759.,39109.,53411.,59694.,57437.,65025.,61345.,68878.,0.,0.,6377.,6683.,22457.,23448.,49503.,50751.,10380.,10835.,19266.,19610.,28417.,28750.,20732.,22044.,26521.,27276.,0.,0.,10131.,11681.,28482.,29670.,52601.,56753.,20722.,21728.,25680.,25959.,30780.,31657.,32161.,33290.,33096.,34633.,0.,0.,21380.,22651.,37121.,39923.,54598.,60751.,34744.,36379.,35111.,37417.,35939.,39080.,46708.,51426.,44384.,48624.,0.,0.,10952.,11418.,19643.,20167.,28488.,29118.,20182.,20242.,18359.,18431.,16718.,16900.,24621.,25169.,20737.,21234.,0.,0.,20251.,21309.,25725.,26026.,31355.,32256.,24539.,25102.,20991.,21593.,17889.,18639.,31588.,32417.,27170.,29235.,0.,0.,33431.,35174.,34427.,36736.,35916.,38926.,31741.,32451.,27148.,29040.,23993.,27214.,38993.,40689.,36596.,40772.,0.,0.,41907.,48128.,77947.,87844.,152033.,169876.,57437.,65025.,61345.,68878.,74154.,85533.,23433.,25843.,36759.,39109.,0.,0.,33932.,38310.,36200.,40713.,99297.,111743.,22577.,23370.,39152.,41429.,57432.,62292.,7236.,8309.,29539.,31536.,0.,0.,22968.,26297.,27645.,30092.,72463.,80413.,7726.,8300.,30477.,32533.,57469.,61055.,8946.,9792.,22335.,23886.,0.,0.,48710.,53918.,59260.,65402.,77350.,87781.,46708.,51426.,44384.,48624.,50354.,58143.,34744.,36379.,35111.,37417.,0.,0.,20908.,22670.,38133.,39669.,56332.,59453.,32161.,33290.,33096.,34633.,34367.,36793.,20722.,21728.,25680.,25959.,0.,0.,7404.,8010.,30073.,32272.,55210.,58955.,20732.,22044.,26521.,27276.,32434.,32943.,10380.,10835.,19266.,19610.,0.,0.,45425.,49667.,44460.,48383.,51014.,58851.,38993.,40689.,36596.,40772.,38865.,44837.,31741.,32451.,27148.,29040.,0.,0.,31595.,32602.,33322.,34837.,35379.,37698.,31588.,32417.,27170.,29235.,24035.,27311.,24539.,25102.,20991.,21593.,0.,0.,19475.,20577.,25384.,25965.,31447.,32050.,24621.,25169.,20737.,21234.,17759.,18414.,20182.,20242.,18359.,18431.,0.,0.],486,2)
+    arr1.setInfoOnComponents(['VMIS','TRESCA'])
+    f1z=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f1z.setName("SolutionSIEQ_ELNO")
+    f1z.setArray(arr1)
+    f1z.setMesh(mz)
+    f1z.checkConsistencyLight()
+    ff1z=MEDFileField1TS()
+    ff1z.setFieldNoProfileSBT(f1z)
+    #
+    arr2=DataArrayDouble([4.938269266683534e-28,-6.232001151245993e-28,1.0602290566170399e-27,4.029857051193646e-29,-1.1103217240985741e-27,-1.5536615528327828e-27,1.5241233363338648e-28,-3.015674201798923e-30,-1.02980203874559e-30,2.72351596604712e-29,-1.1888246600739933e-29,-2.69937196846485e-29,-4.7437993223547586e-07,1.3496193329105202e-07,-7.295395086913946e-07,7.054959528904149e-08,-8.433644218153947e-07,-1.3140517414252605e-08,-4.6699282590396373e-07,-4.307881601165781e-21,-7.181557182928824e-07,-8.028640214851634e-21,-8.231757491716489e-07,-1.2311604671716488e-20,6.500213859021137e-28,-5.36425415550288e-29,2.082592789783471e-28,1.3252863207712998e-28,-4.743799322354692e-07,-1.3496193329105909e-07,-7.295395086913853e-07,-7.054959528905818e-08,-8.433644218153849e-07,1.3140517414226876e-08,6.058451752097371e-28,5.632466863278024e-28,2.208810534618833e-28,2.2876966251409342e-28,-6.120655339318954e-07,1.623023866978208e-20,-7.136250920460284e-07,4.359903572644498e-20,-6.995066975751433e-07,7.373674095935513e-20,0.0,1.4598897976731362e-43,0.0,5.997557427310217e-43,0.0,1.156071233067974e-43,0.0,6.726232628759122e-44,0.0,1.0089348943138683e-43,-4.76082153061813e-07,1.7635130038063272e-07,-7.252650834474581e-07,1.797684522608815e-07,-7.726301925249592e-07,1.3593814652780474e-07,1.28713440720985e-28,8.66262871593868e-30,-1.7918024758329104e-28,1.9633850833341234e-29,-4.7608215306193535e-07,-1.7635130038060178e-07,-7.252650834476241e-07,-1.797684522607695e-07,-7.726301925251186e-07,-1.3593814652760442e-07,-3.0106055763582786e-29,-3.568658720396775e-29,-2.2739766223848432e-29,-1.6603258665331888e-29,-4.741010514018535e-07,5.448590612379579e-08,-4.701818411901992e-07,1.6663000490694165e-08,-7.453102534678627e-07,2.7357217239441644e-08,-7.279540615613018e-07,3.4371113890668217e-09,-8.579330208754989e-07,-2.6008405171390205e-08,-8.357526525453042e-07,-2.5729239758795502e-08,-4.701818411901952e-07,-1.6663000490702818e-08,-4.741010514018457e-07,-5.448590612380402e-08,-7.279540615612966e-07,-3.4371113890835274e-09,-7.45310253467852e-07,-2.7357217239458564e-08,-8.357526525452993e-07,2.572923975877074e-08,-8.579330208754882e-07,2.6008405171364682e-08,0.0,-3.689838846534034e-21,0.0,-3.4057248282497575e-21,0.0,-2.389474304570763e-21,0.0,1.1849907150798524e-21,0.0,7.728930340233592e-21,0.0,-9.409753747161713e-21,0.0,-9.27355993916331e-21,0.0,-5.9005465375222355e-21,0.0,3.45820724462685e-21,0.0,2.0021147143626658e-20,0.0,-1.6042705688202718e-20,0.0,-1.541762360721681e-20,0.0,-8.827856096357078e-21,0.0,6.3984676397065826e-21,0.0,3.396409774956617e-20,-5.21059344905059e-07,1.0785416831218214e-07,-5.942832234061152e-07,1.1284412735292002e-07,-7.291198556954883e-07,1.5975182005082218e-07,-7.29419534669376e-07,1.4146009988497262e-07,-7.536819640264805e-07,1.388363757438669e-07,-7.212688685979149e-07,1.1197909398607218e-07,-5.94283223406162e-07,-1.1284412735287996e-07,-5.210593449051535e-07,-1.0785416831213956e-07,-7.294195346694393e-07,-1.4146009988486582e-07,-7.291198556956173e-07,-1.5975182005070884e-07,-7.212688685979762e-07,-1.1197909398589052e-07,-7.536819640266044e-07,-1.3883637574367513e-07,-2.8576578578864835e-07,1.301140611795876e-07,-6.228581335977658e-07,1.1144407150470386e-07,-8.014360278229913e-07,2.882237382538957e-08,-2.6588034168431343e-07,-2.345549761149889e-21,-6.148909793824232e-07,-5.981322827533954e-21,-7.85277352863385e-07,-1.0225807644204478e-20,3.1049565229499025e-27,-4.196740015775783e-28,-2.887230913108903e-28,-4.403551231441193e-28,4.812051521848172e-29,3.851635443793833e-28,-2.857657857886445e-07,-1.301140611795897e-07,-6.228581335977572e-07,-1.1144407150471579e-07,-8.01436027822981e-07,-2.8822373825410947e-08,-1.5635223141480454e-27,-9.802651538976083e-29,3.278505922098525e-27,-6.797558254135845e-28,4.1020767071492614e-27,5.932234007262009e-28,-4.410314084022777e-07,7.268022452197178e-21,-6.915240267186082e-07,2.9979998916103056e-20,-7.135613152026231e-07,5.968769864060137e-20,0.0,1.793662034335766e-43,0.0,1.793662034335766e-43,0.0,8.96831017167883e-43,0.0,-5.6519283938616335e-43,0.0,1.0761972206014595e-42,0.0,9.269247757898544e-43,-2.627131752301911e-07,1.3274214899302934e-07,-6.329945799890571e-07,1.9265484727832687e-07,-7.677771910976133e-07,1.6184720841148966e-07,1.5146129380243427e-28,-5.494056542378401e-29,1.0988346067719275e-50,3.891714187734575e-29,2.524354896707238e-28,1.6407579324035087e-28,-2.62713175230267e-07,-1.3274214899303003e-07,-6.329945799892127e-07,-1.9265484727825895e-07,-7.677771910977852e-07,-1.6184720841133102e-07,-1.5146129380243427e-28,6.686637000472881e-29,-1.5146129380243427e-28,5.412840523535707e-29,5.048709949123486e-29,-1.0255191767873153e-29,-4.801584184334589e-07,9.447106112382042e-08,-2.646155245804423e-07,4.165624981437424e-08,-4.7283844479037397e-07,3.112099903692373e-08,-2.656912190102633e-07,1.2633757629192664e-08,-4.6803908104000066e-07,8.091752496288301e-09,-7.484767456103177e-07,4.8063930505815753e-08,-6.342336387597463e-07,4.783223809223803e-08,-7.371756425756432e-07,1.2491484933343017e-08,-6.217198644652372e-07,1.3160740615455145e-08,-7.210619794360716e-07,-6.140998451021678e-11,-8.616398069136549e-07,-2.0279767975595878e-08,-8.174867338143947e-07,1.761743718501197e-09,-8.474965025861739e-07,-2.8360688201075687e-08,-7.969390370704656e-07,-1.0156396041453297e-08,-8.26809188564297e-07,-1.6608029814857525e-08,-4.6803908103999843e-07,-8.091752496296909e-09,-2.6569121901026077e-07,-1.2633757629197396e-08,-4.72838444790368e-07,-3.112099903693232e-08,-2.6461552458043755e-07,-4.165624981437841e-08,-4.801584184334501e-07,-9.447106112382803e-08,-7.210619794360687e-07,6.140998449395655e-11,-6.217198644652322e-07,-1.3160740615467643e-08,-7.37175642575635e-07,-1.2491484933360037e-08,-6.342336387597367e-07,-4.783223809225061e-08,-7.484767456103061e-07,-4.8063930505832595e-08,-8.268091885642944e-07,1.6608029814832955e-08,-7.969390370704601e-07,1.015639604143253e-08,-8.474965025861654e-07,2.836068820105083e-08,-8.174867338143834e-07,-1.7617437185225845e-09,-8.616398069136434e-07,2.02797679755703e-08,0.0,-3.435877556189529e-21,0.0,-1.3776771401529971e-21,0.0,-3.403994495899553e-21,0.0,-1.3185754926235634e-21,0.0,-2.7680254878980847e-21,0.0,-1.1103673324958778e-21,0.0,-9.900107724251277e-22,0.0,4.77602156134974e-22,0.0,3.959146546409973e-21,0.0,3.776411006916986e-21,0.0,1.2124392797414627e-20,0.0,-8.731709783191639e-21,0.0,-6.144329300702704e-21,0.0,-8.89968038381516e-21,0.0,-5.404653063609732e-21,0.0,-7.547524363424233e-21,0.0,-3.3206893791145496e-21,0.0,-1.6246546029348425e-21,0.0,1.9854969588545943e-21,0.0,1.1317236337409485e-20,0.0,1.3983874347413824e-20,0.0,3.098996503833694e-20,0.0,-1.407865292807831e-20,0.0,-1.1626000835692668e-20,0.0,-1.533412146384094e-20,0.0,-1.1018823571603408e-20,0.0,-1.2512374860235445e-20,0.0,-6.514267779823197e-21,0.0,-2.4719015385819347e-21,0.0,4.858859984935085e-21,0.0,1.881348220188166e-20,0.0,2.740874292245713e-20,0.0,5.211376231395407e-20,-4.864225626157067e-07,1.3296728230814142e-07,-3.076586015279749e-07,6.740802636874205e-08,-5.594534933091086e-07,1.1066583698276748e-07,-3.841186138586638e-07,7.559745482599735e-08,-6.098267681100678e-07,9.875238991849593e-08,-7.2970765755297e-07,1.669225383108583e-07,-6.573316628421653e-07,1.465581454371536e-07,-7.316181481946474e-07,1.5542337568784254e-07,-6.912676702186072e-07,1.3829023572925456e-07,-7.20589385417476e-07,9.666451163676767e-08,-7.723884127434406e-07,1.3857930563622999e-07,-7.569169347428396e-07,1.547516335925935e-07,-7.383025429990218e-07,1.3271074092312e-07,-7.350854918831709e-07,1.2994146610617741e-07,-7.0646090437235e-07,6.938656131041383e-08,-6.098267681100908e-07,-9.875238991845998e-08,-3.841186138586908e-07,-7.559745482597872e-08,-5.594534933091803e-07,-1.1066583698272561e-07,-3.0765860152803245e-07,-6.740802636872275e-08,-4.864225626158294e-07,-1.329672823081032e-07,-7.20589385417508e-07,-9.666451163666813e-08,-6.912676702186662e-07,-1.3829023572918171e-07,-7.316181481947439e-07,-1.5542337568773118e-07,-6.573316628422832e-07,-1.4655814543707692e-07,-7.297076575531353e-07,-1.6692253831074535e-07,-7.064609043723808e-07,-6.938656131024667e-08,-7.350854918832338e-07,-1.2994146610603196e-07,-7.383025429991161e-07,-1.3271074092293177e-07,-7.56916934742969e-07,-1.5475163359243975e-07,-7.723884127435972e-07,-1.3857930563603445e-07,-2.6225523866596743e-07,7.368618860781533e-08,-2.6483901297419715e-07,2.3043552983380804e-08,-2.6569368384400127e-07,6.351605004005378e-09,-6.372294401265312e-07,7.723333950374213e-08,-6.279151194946851e-07,2.6473214771574048e-08,-6.169026138715963e-07,5.559932643680484e-09,-8.206671947434617e-07,1.419786412636469e-08,-8.077626999789484e-07,-6.830966026358984e-09,-7.886512424652054e-07,-7.805683188152915e-09,-2.6569368384400005e-07,-6.351605004010108e-09,-2.648390129741935e-07,-2.3043552983385364e-08,-2.622552386659623e-07,-7.36861886078186e-08,-6.169026138715935e-07,-5.559932643692688e-09,-6.279151194946777e-07,-2.647321477158676e-08,-6.372294401265209e-07,-7.723333950375434e-08,-7.886512424652024e-07,7.805683188132495e-09,-8.077626999789395e-07,6.830966026337777e-09,-8.2066719474345e-07,-1.4197864126386033e-08,0.0,-1.528080794868089e-21,0.0,-1.5426894495622164e-21,0.0,-1.1495211961775125e-21,0.0,-4.441807280413718e-22,0.0,1.9784166326767865e-21,0.0,5.420802477152069e-21,0.0,-6.12858914756041e-21,0.0,-6.197208509921192e-21,0.0,-4.895012827081806e-21,0.0,-1.2104071985400557e-21,0.0,7.207223659623184e-21,0.0,2.1139789648778443e-20,0.0,-1.178112680978544e-20,0.0,-1.2361618534325795e-20,0.0,-9.332953007651742e-21,0.0,-2.4549106998298197e-21,0.0,1.5192320364423287e-20,0.0,4.128606459003346e-20,-2.6179012371741095e-07,8.492155525093568e-08,-3.431936650750607e-07,6.526689580555302e-08,-4.206987870183037e-07,7.275786337707596e-08,-6.39565352471141e-07,1.6214246375922057e-07,-6.76924119958337e-07,1.4588367240696607e-07,-6.94035042843604e-07,1.042901908413762e-07,-7.689004953903582e-07,1.574343097081281e-07,-7.476782438785353e-07,1.489103868358007e-07,-7.209785981316606e-07,8.394206942691553e-08,-4.2069878701831687e-07,-7.275786337705938e-08,-3.431936650751034e-07,-6.52668958055331e-08,-2.617901237174839e-07,-8.492155525092188e-08,-6.940350428436335e-07,-1.0429019084130907e-07,-6.769241199584262e-07,-1.458836724068901e-07,-6.39565352471292e-07,-1.6214246375914686e-07,-7.209785981316918e-07,-8.394206942678136e-08,-7.476782438786325e-07,-1.4891038683565012e-07,-7.68900495390525e-07,-1.574343097079712e-07],259,2)
+    arr2.setInfoOnComponents(['DRX','DRZ'])
+    f2z=MEDCouplingFieldDouble(ON_NODES) ; f2z.setName("SolutionDEPL") ; f2z.setArray(arr2)
+    f2z.setMesh(mz)
+    f2z.checkConsistencyLight()
+    ff2z=MEDFileField1TS()
+    ff2z.setFieldNoProfileSBT(f2z)
+    #
+    mm2=MEDFileUMesh()
+    mm2.setMeshAtLevel(0,mz)
+    mm2.setFamilyFieldArr(0,DataArrayInt([-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-4,-4,-4,-4,-4,-4,-4,-4,-4,-5,-5,-5,-5,-5,-5,-5,-5,-5]))
+    mm2.setFamilyFieldArr(1,DataArrayInt([1,2,3,4,5,6,0,0,0,0,0,0,1,1,0,0,0,3,3,0,0,0,7,7,7,7,7,0,0,0,5,5,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,3,3,3,0,0,0,7,7,7,7,7,7,0,0,0,5,5,5,0,0,0,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]))
+    for famName,famId in [('FAMILLE_ZERO',0),('ba1_beam',-1),('ba2_beam',-2),('h1',6),('h1_h2_h3',4),('h2',5),('h3',7),('h3_h4_h5',2),('h4',3),('h5',1),('to1_beam',-4),('to2_beam',-5),('web_beam',-3)]:
+        mm2.setFamilyId(famName,famId)
+        pass
+    for grName,famsOnGrp in [('ba1',['ba1_beam']),('ba2',['ba2_beam']),('beam',['ba1_beam','ba2_beam','to1_beam','to2_beam','web_beam']),('h1',['h1','h1_h2_h3']),('h2',['h1_h2_h3','h2']),('h3',['h1_h2_h3','h3','h3_h4_h5']),('h4',['h3_h4_h5','h4']),('h5',['h3_h4_h5','h5']),('to1',['to1_beam']),('to2',['to2_beam']),('web',['web_beam'])]:
+        mm2.setFamiliesOnGroup(grName,famsOnGrp)
+        pass
+    #
+    mm2.write(fname,2)
+    ff0z.write(fname,0)
+    ff1z.write(fname,0)
+    ff2z.write(fname,0)
+    return fname
+
+@WriteInTmpDir
+def test0(baseline_file):
+    fname = GenerateCase()
+    ################### MED write is done -> Go to MEDReader
 
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, "testMEDReader0.png")
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                                threshold=1)
-    vtk.test.Testing.interact()
+    myMedReader=MEDReader(FileName=fname)
+    keys=myMedReader.GetProperty("FieldsTreeInfo")[::2]
+    # list all the names of arrays that can be seen (including their spatial discretization)
+    arr_name_with_dis=[elt.split("/")[-1] for elt in keys]
+    # list all the names of arrays (Equal to those in the MED File)
+    arr_name=[elt.split(myMedReader.GetProperty("Separator").GetData())[0] for elt in arr_name_with_dis]
+    myMedReader.AllArrays=keys
+
+    if '-D' not in sys.argv:
+        RenderView1 = GetRenderView()
+        ELNOfieldToSurface1=ELNOfieldToSurface(Input=myMedReader)
+        ExtractGroup1=ExtractGroup(Input=ELNOfieldToSurface1)
+        #ExtractGroup1.UpdatePipelineInformation()
+        ExtractGroup1.AllGroups=['GRP_ba2','GRP_to1','GRP_web']
+        assert(isinstance(ExtractGroup1.GetProperty("MeshName")[0],str))
+        assert(ExtractGroup1.GetProperty("MeshName")[0]=="mesh")
+        #
+        DataRepresentation3 = Show()
+        DataRepresentation3.ScaleFactor = 0.008999999705702066
+        DataRepresentation3.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+        DataRepresentation3.SelectionPointFieldDataArrayName = 'SolutionSIEF_ELNO'
+        a2_SolutionSIEQ_ELNO_PiecewiseFunction = CreatePiecewiseFunction(Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0])
+        #VectorMode='Magnitude' or VectorMode='Component'
+        a2_SolutionSIEQ_ELNO_PVLookupTable = GetLookupTableForArray("SolutionSIEQ_ELNO",2,RGBPoints=[0.0, 0.23, 0.299, 0.754, 239013.7773476667, 0.706, 0.016, 0.15], VectorMode='Component', VectorComponent=1, NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+        DataRepresentation3.ScalarOpacityFunction = a2_SolutionSIEQ_ELNO_PiecewiseFunction
+        DataRepresentation3.ColorArrayName = 'SolutionSIEQ_ELNO'
+        DataRepresentation3.LookupTable = a2_SolutionSIEQ_ELNO_PVLookupTable
+        DataRepresentation3.Visibility = 1
+        #
+        ELGAfieldToPointGaussian1=ELGAfieldToPointGaussian(Input=ELNOfieldToSurface1)
+        ELGAfieldToPointGaussian1.SelectSourceArray=['CELLS','ELGA@0']
+        DataRepresentation4 = Show()
+        DataRepresentation4.ScaleFactor = 0.008999999705702066
+        DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+        DataRepresentation4.SelectionPointFieldDataArrayName = 'SolutionSIEF_ELGA'
+        DataRepresentation4.ColorArrayName = 'SolutionSIEF_ELGA'
+        ########
+        RenderView1.CameraViewUp = [-0.19545466285945437, 0.837274140321886, -0.5106559396646081]
+        RenderView1.CameraPosition = [0.11797550069274401, 0.20119836056342144, 0.20885419432082736]
+        RenderView1.CameraFocalPoint = [1.0170565790969026e-18, 0.0599999981932342, 0.022500000894069675]
+        RenderView1.ViewSize =[300,300]
+        Render()
+
+        # compare with baseline image
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                    threshold=1)
+        vtk.test.Testing.interact()
+
+if __name__ == "__main__":
+    outImgName="testMEDReader0.png"
+    baseline_file = RetriveBaseLine(outImgName)
+    test0(baseline_file)
+    pass
index eff91a5f9c4887164536e4687a3bbdc611df8fd1..6c730c2cd7654b3f06f87c61402ca58c94f7bd07 100644 (file)
 #
 # Author : Anthony Geay
 
-from MEDLoader import *
+from medcoupling import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-"""
-This test focused on ELNO. Here a 2 QUAD4 cells and a single ELNO field
-is defined.
-"""
-fname="testMEDReader1.med"
+@WriteInTmpDir
+def GenerateCase():
+    """
+    This test focused on ELNO. Here a 2 QUAD4 cells and a single ELNO field
+    is defined.
+    """
+    fname="testMEDReader1.med"
+    coords=DataArrayDouble([(0,0,0),(2,1,0),(1,0,0),(1,1,0),(2,0,0),(0,1,0)])
+    m=MEDCouplingUMesh("mesh",2) ; m.setCoords(coords)
+    m.allocateCells()
+    m.insertNextCell(NORM_QUAD4,[0,5,3,2])
+    m.insertNextCell(NORM_QUAD4,[4,2,3,1])
+    m.finishInsertingCells()
+    WriteMesh(fname,m,True)
+    #
+    f0=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f0.setMesh(m) ; f0.setTimeUnit("ms")
+    f0.setTime(1.1,1,1)
+    f0.setName("myELNOField")
+    arr=DataArrayDouble([7,5,3,1,5,3,1,7]) ; arr.setInfoOnComponent(0,"Comp0")
+    f0.setArray(arr)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f0)
+    #
+    f0.setTime(2.2,2,1)
+    arr=DataArrayDouble([1,7,5,3,7,5,3,1]) ; arr.setInfoOnComponent(0,"Comp0")
+    f0.setArray(arr)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f0)
+    #
+    f0.setTime(3.3,3,1)
+    arr=DataArrayDouble([3,1,7,5,1,7,5,3]) ; arr.setInfoOnComponent(0,"Comp0")
+    f0.setArray(arr)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f0)
+    #
+    f0.setTime(4.4,4,1)
+    arr=DataArrayDouble([5,3,1,7,3,1,7,5]) ; arr.setInfoOnComponent(0,"Comp0")
+    f0.setArray(arr)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f0)
 
-coords=DataArrayDouble([(0,0,0),(2,1,0),(1,0,0),(1,1,0),(2,0,0),(0,1,0)])
-m=MEDCouplingUMesh("mesh",2) ; m.setCoords(coords)
-m.allocateCells()
-m.insertNextCell(NORM_QUAD4,[0,5,3,2])
-m.insertNextCell(NORM_QUAD4,[4,2,3,1])
-m.finishInsertingCells()
-WriteMesh(fname,m,True)
-#
-f0=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f0.setMesh(m) ; f0.setTimeUnit("ms")
-f0.setTime(1.1,1,1)
-f0.setName("myELNOField")
-arr=DataArrayDouble([7,5,3,1,5,3,1,7]) ; arr.setInfoOnComponent(0,"Comp0")
-f0.setArray(arr)
-WriteFieldUsingAlreadyWrittenMesh(fname,f0)
-#
-f0.setTime(2.2,2,1)
-arr=DataArrayDouble([1,7,5,3,7,5,3,1]) ; arr.setInfoOnComponent(0,"Comp0")
-f0.setArray(arr)
-WriteFieldUsingAlreadyWrittenMesh(fname,f0)
-#
-f0.setTime(3.3,3,1)
-arr=DataArrayDouble([3,1,7,5,1,7,5,3]) ; arr.setInfoOnComponent(0,"Comp0")
-f0.setArray(arr)
-WriteFieldUsingAlreadyWrittenMesh(fname,f0)
-#
-f0.setTime(4.4,4,1)
-arr=DataArrayDouble([5,3,1,7,3,1,7,5]) ; arr.setInfoOnComponent(0,"Comp0")
-f0.setArray(arr)
-WriteFieldUsingAlreadyWrittenMesh(fname,f0)
+
+if __name__ == "__main__":
+    GenerateCase()
+    pass
index be0a2682a8fa67824ce2fccdcdc5436f99769ee6..6cd5dc55f5746a60007ea1ebe9b81acf24693d40 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-""" This test focuses on GenerateVector part.
-"""
+def GenerateCase():
+  """ This test focuses on GenerateVector part.
+  """
+  fname="testMEDReader10.med"
+  ##############
+  coo=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(2.,0.,0.),(3.,0.,0.),(0.,1.,0.),(1.,1.,0.),(2.,1.,0.),(3.,1.,0.),(0.,0.,1.),(1.,0.,1.),(2.,0.,1.),(3.,0.,1.),(0.,1.,1.),(1.,1.,1.),(2.,1.,1.),(3.,1.,1.)])
+  m=MEDCouplingUMesh("myMesh",3) ; m.setCoords(coo)
+  m.allocateCells()
+  m.insertNextCell(NORM_HEXA8,[0,4,5,1,8,12,13,9]) ; m.insertNextCell(NORM_HEXA8,[1,5,6,2,9,13,14,10]) ; m.insertNextCell(NORM_HEXA8,[2,6,7,3,10,14,15,11])
+  f0=MEDCouplingFieldDouble(ON_NODES) ; f0.setName("f0NbComp1") ; f0.setMesh(m) ;
+  arr=DataArrayDouble(8) ; arr.iota() ; arr=DataArrayDouble.Aggregate(arr,arr+8) ; arr.setInfoOnComponents(["1st"])
+  f0.setArray(arr)
+  f1=MEDCouplingFieldDouble(ON_NODES) ; f1.setName("f1NbComp2") ; f1.setMesh(m) ;
+  arr=DataArrayDouble([(-1.,-1.),(0.,0.5),(0.,0.5),(1.,-1.),(-1.,1.),(0.,-0.5),(0.,-0.5),(1.,1.)]) ; arr=DataArrayDouble.Aggregate(arr,arr) ; arr.setInfoOnComponents(["1st","2nd"])
+  f1.setArray(arr)
+  f2=MEDCouplingFieldDouble(ON_NODES) ; f2.setName("f2NbComp3") ; f2.setMesh(m) ;
+  arr=DataArrayDouble([(-1.,-1.,-1.),(0.,0.5,0.),(0.,0.5,0.),(1.,-1.,-1.),(-1.,1.,-1.),(0.,-0.5,0.),(0.,-0.5,0.),(1.,1.,-1)]) ; arr2=arr[:] ; arr2[[0,3,4,7],2]=1.
+  arr=DataArrayDouble.Aggregate(arr,arr2) ; arr.setInfoOnComponents(["1st","2nd","3rd"])
+  f2.setArray(arr)
+  f3=MEDCouplingFieldDouble(ON_NODES) ; f3.setName("f3NbComp4") ; f3.setMesh(m) ;
+  arr=DataArrayDouble([(-1.,-1.,-1.),(0.,0.5,0.),(0.,0.5,0.),(1.,-1.,-1.),(-1.,1.,-1.),(0.,-0.5,0.),(0.,-0.5,0.),(1.,1.,-1)]) ; arr2=arr[:] ; arr2[[0,3,4,7],2]=1.
+  arr=DataArrayDouble.Aggregate(arr,arr2) ; arr3=DataArrayDouble(16) ; arr3.iota() ; arr=DataArrayDouble.Meld([arr,arr3])
+  arr.setInfoOnComponents(["1st","2nd","3rd","4th"])
+  f3.setArray(arr)
+  #
+  WriteMesh(fname,m,True)
+  WriteFieldUsingAlreadyWrittenMesh(fname,f0)
+  WriteFieldUsingAlreadyWrittenMesh(fname,f1)
+  WriteFieldUsingAlreadyWrittenMesh(fname,f2)
+  WriteFieldUsingAlreadyWrittenMesh(fname,f3)
+  return fname
 
-fname="testMEDReader10.med"
-outImgName="testMEDReader10.png"
-##############
-coo=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(2.,0.,0.),(3.,0.,0.),(0.,1.,0.),(1.,1.,0.),(2.,1.,0.),(3.,1.,0.),(0.,0.,1.),(1.,0.,1.),(2.,0.,1.),(3.,0.,1.),(0.,1.,1.),(1.,1.,1.),(2.,1.,1.),(3.,1.,1.)])
-m=MEDCouplingUMesh("myMesh",3) ; m.setCoords(coo)
-m.allocateCells()
-m.insertNextCell(NORM_HEXA8,[0,4,5,1,8,12,13,9]) ; m.insertNextCell(NORM_HEXA8,[1,5,6,2,9,13,14,10]) ; m.insertNextCell(NORM_HEXA8,[2,6,7,3,10,14,15,11])
-f0=MEDCouplingFieldDouble(ON_NODES) ; f0.setName("f0NbComp1") ; f0.setMesh(m) ;
-arr=DataArrayDouble(8) ; arr.iota() ; arr=DataArrayDouble.Aggregate(arr,arr+8) ; arr.setInfoOnComponents(["1st"])
-f0.setArray(arr)
-f1=MEDCouplingFieldDouble(ON_NODES) ; f1.setName("f1NbComp2") ; f1.setMesh(m) ;
-arr=DataArrayDouble([(-1.,-1.),(0.,0.5),(0.,0.5),(1.,-1.),(-1.,1.),(0.,-0.5),(0.,-0.5),(1.,1.)]) ; arr=DataArrayDouble.Aggregate(arr,arr) ; arr.setInfoOnComponents(["1st","2nd"])
-f1.setArray(arr)
-f2=MEDCouplingFieldDouble(ON_NODES) ; f2.setName("f2NbComp3") ; f2.setMesh(m) ;
-arr=DataArrayDouble([(-1.,-1.,-1.),(0.,0.5,0.),(0.,0.5,0.),(1.,-1.,-1.),(-1.,1.,-1.),(0.,-0.5,0.),(0.,-0.5,0.),(1.,1.,-1)]) ; arr2=arr[:] ; arr2[[0,3,4,7],2]=1.
-arr=DataArrayDouble.Aggregate(arr,arr2) ; arr.setInfoOnComponents(["1st","2nd","3rd"])
-f2.setArray(arr)
-f3=MEDCouplingFieldDouble(ON_NODES) ; f3.setName("f3NbComp4") ; f3.setMesh(m) ;
-arr=DataArrayDouble([(-1.,-1.,-1.),(0.,0.5,0.),(0.,0.5,0.),(1.,-1.,-1.),(-1.,1.,-1.),(0.,-0.5,0.),(0.,-0.5,0.),(1.,1.,-1)]) ; arr2=arr[:] ; arr2[[0,3,4,7],2]=1.
-arr=DataArrayDouble.Aggregate(arr,arr2) ; arr3=DataArrayDouble(16) ; arr3.iota() ; arr=DataArrayDouble.Meld([arr,arr3])
-arr.setInfoOnComponents(["1st","2nd","3rd","4th"])
-f3.setArray(arr)
-#
-WriteMesh(fname,m,True)
-WriteFieldUsingAlreadyWrittenMesh(fname,f0)
-WriteFieldUsingAlreadyWrittenMesh(fname,f1)
-WriteFieldUsingAlreadyWrittenMesh(fname,f2)
-WriteFieldUsingAlreadyWrittenMesh(fname,f3)
-################### MED write is done -> Go to MEDReader
-from paraview.simple import *
 
-myMedReader=MEDReader(FileName=fname)
-keys=myMedReader.GetProperty("FieldsTreeInfo")[::2]
-# list all the names of arrays that can be seen (including their spatial discretization)
-arr_name_with_dis=[elt.split("/")[-1] for elt in keys]
-# list all the names of arrays (Equal to those in the MED File)
-arr_name=[elt.split(myMedReader.GetProperty("Separator").GetData())[0] for elt in arr_name_with_dis]
-myMedReader.AllArrays=keys
-myMedReader.GenerateVectors=1
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  ################### MED write is done -> Go to MEDReader
+  myMedReader=MEDReader(FileName=fname)
+  keys=myMedReader.GetProperty("FieldsTreeInfo")[::2]
+  # list all the names of arrays that can be seen (including their spatial discretization)
+  arr_name_with_dis=[elt.split("/")[-1] for elt in keys]
+  # list all the names of arrays (Equal to those in the MED File)
+  arr_name=[elt.split(myMedReader.GetProperty("Separator").GetData())[0] for elt in arr_name_with_dis]
+  myMedReader.AllArrays=keys
+  myMedReader.GenerateVectors=1
 
-if '-D' not in sys.argv:
-  RenderView1=GetRenderView()
-  DataRepresentation1 = Show()
-  DataRepresentation1.EdgeColor = [0.0, 0.0, 0.5]
-  DataRepresentation1.SelectionPointFieldDataArrayName='f0NbComp1'
-  DataRepresentation1.ScalarOpacityUnitDistance = 2.299619191183727
-  #DataRepresentation1.ExtractedBlockIndex = 1
-  DataRepresentation1.ScaleFactor = 0.3
-  RenderView1.CenterOfRotation = [1.5, 0.5, 0.5]
-  RenderView1.CameraPosition = [1.5, 0.5, 6.907227082229696]
-  RenderView1.CameraFocalPoint = [1.5, 0.5, 0.5]
-  RenderView1.CameraParallelScale = 1.6583123951777
-  DataRepresentation1.Representation = 'Wireframe'
-  #
-  wbv=WarpByVector(Input=myMedReader)
-  wbv.ScaleFactor=0.1
-  wbv.Vectors=['POINTS','f3NbComp4_Vector']
-  assert(list(wbv.PointData.keys())==['f0NbComp1','f1NbComp2','f1NbComp2_Vector','f2NbComp3','f3NbComp4','f3NbComp4_Vector'])
-  #
-  DataRepresentation2 = Show()
-  DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-  DataRepresentation2.SelectionPointFieldDataArrayName = 'f0NbComp1'
-  DataRepresentation2.SelectionCellFieldDataArrayName = 'FamilyIdCell'
-  DataRepresentation2.ScalarOpacityUnitDistance = 4.546673931685981
-  #DataRepresentation2.ExtractedBlockIndex = 1
-  DataRepresentation2.ScaleFactor = 0.5
-  DataRepresentation1.Visibility = 0
-  DataRepresentation1.ColorArrayName = ('POINT_DATA', '')
-  DataRepresentation1.Visibility = 1
-  a4_f3NbComp4_PVLookupTable = GetLookupTableForArray( "f3NbComp4", 4, RGBPoints=[1.118033988749895, 0.23, 0.299, 0.754, 8.108851429645696, 0.865, 0.865, 0.865, 15.0996688705415, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0 )
-  a4_f3NbComp4_PiecewiseFunction = CreatePiecewiseFunction( Points=[1.118033988749895, 0.0, 0.5, 0.0, 15.0996688705415, 1.0, 0.5, 0.0] )
-  DataRepresentation1.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
-  DataRepresentation1.LookupTable = a4_f3NbComp4_PVLookupTable
-  a4_f3NbComp4_PVLookupTable.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
-  DataRepresentation2.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
-  DataRepresentation2.ColorArrayName = ('POINT_DATA', 'f3NbComp4')
-  DataRepresentation2.LookupTable = a4_f3NbComp4_PVLookupTable
-  RenderView1.CameraViewUp = [0.32310237626907823, -0.28721735329781684, -0.901726702728644]
-  RenderView1.CameraPosition = [0.17151044563787257, 6.31903262423349, -1.8294921560963984]
-  RenderView1.CameraFocalPoint = [1.4999999999999996, 0.49999999999999944, 0.4999999999999996]
-  #
-  RenderView1.ViewSize =[300,300]
-  Render()
+  if '-D' not in sys.argv:
+    RenderView1=GetRenderView()
+    DataRepresentation1 = Show()
+    DataRepresentation1.EdgeColor = [0.0, 0.0, 0.5]
+    DataRepresentation1.SelectionPointFieldDataArrayName='f0NbComp1'
+    DataRepresentation1.ScalarOpacityUnitDistance = 2.299619191183727
+    #DataRepresentation1.ExtractedBlockIndex = 1
+    DataRepresentation1.ScaleFactor = 0.3
+    RenderView1.CenterOfRotation = [1.5, 0.5, 0.5]
+    RenderView1.CameraPosition = [1.5, 0.5, 6.907227082229696]
+    RenderView1.CameraFocalPoint = [1.5, 0.5, 0.5]
+    RenderView1.CameraParallelScale = 1.6583123951777
+    DataRepresentation1.Representation = 'Wireframe'
+    #
+    wbv=WarpByVector(Input=myMedReader)
+    wbv.ScaleFactor=0.1
+    wbv.Vectors=['POINTS','f3NbComp4_Vector']
+    assert(list(wbv.PointData.keys())==['f0NbComp1','f1NbComp2','f1NbComp2_Vector','f2NbComp3','f3NbComp4','f3NbComp4_Vector'])
+    #
+    DataRepresentation2 = Show()
+    DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+    DataRepresentation2.SelectionPointFieldDataArrayName = 'f0NbComp1'
+    DataRepresentation2.SelectionCellFieldDataArrayName = 'FamilyIdCell'
+    DataRepresentation2.ScalarOpacityUnitDistance = 4.546673931685981
+    #DataRepresentation2.ExtractedBlockIndex = 1
+    DataRepresentation2.ScaleFactor = 0.5
+    DataRepresentation1.Visibility = 0
+    DataRepresentation1.ColorArrayName = ('POINT_DATA', '')
+    DataRepresentation1.Visibility = 1
+    a4_f3NbComp4_PVLookupTable = GetLookupTableForArray( "f3NbComp4", 4, RGBPoints=[1.118033988749895, 0.23, 0.299, 0.754, 8.108851429645696, 0.865, 0.865, 0.865, 15.0996688705415, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0 )
+    a4_f3NbComp4_PiecewiseFunction = CreatePiecewiseFunction( Points=[1.118033988749895, 0.0, 0.5, 0.0, 15.0996688705415, 1.0, 0.5, 0.0] )
+    DataRepresentation1.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
+    DataRepresentation1.LookupTable = a4_f3NbComp4_PVLookupTable
+    a4_f3NbComp4_PVLookupTable.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
+    DataRepresentation2.ScalarOpacityFunction = a4_f3NbComp4_PiecewiseFunction
+    DataRepresentation2.ColorArrayName = ('POINT_DATA', 'f3NbComp4')
+    DataRepresentation2.LookupTable = a4_f3NbComp4_PVLookupTable
+    RenderView1.CameraViewUp = [0.32310237626907823, -0.28721735329781684, -0.901726702728644]
+    RenderView1.CameraPosition = [0.17151044563787257, 6.31903262423349, -1.8294921560963984]
+    RenderView1.CameraFocalPoint = [1.4999999999999996, 0.49999999999999944, 0.4999999999999996]
+    #
+    RenderView1.ViewSize =[300,300]
+    Render()
+
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader10.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader10.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 78e8bb9b6830d6e3f92076e19b5771b129a6166b..84925fd59e1ad76457a3c0bb855a28c1b9bb33eb 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-""" This test is non regression test to check non regression of EDF 8761. ELNO Mesh filter on vector field with 4 comps cut of using GenerateVectors"""
-
-fname="testMEDReader13.med"
-outImgName="testMEDReader13.png"
-#
-
-m=MEDCouplingUMesh("mesh",2)
-m.setCoords(DataArrayDouble([0.,0.,0.,1.,0.,0.,2.,0.,0.,1.,1.,0.],4,3))
-m.allocateCells()
-m.insertNextCell(NORM_TRI3,[0,1,3]) ; m.insertNextCell(NORM_TRI3,[1,2,3])
-f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setName("fieldELNO") ; f.setMesh(m)
-arr=DataArrayDouble([0.2,1.1,0.7,0.5,-0.3,0.4])
-f.setArray(DataArrayDouble.Meld(4*[arr]))
-f.checkConsistencyLight()
-WriteField(fname,f,True)
-
-################### MED write is done -> Go to MEDReader
-
+from medcoupling import *
 from paraview.simple import *
-
-testMEDReader13_med = MEDReader( FileName=fname )
-
-testMEDReader13_med.GenerateVectors = 1
-testMEDReader13_med.AllArrays = ['TS0/mesh/ComSup0/fieldELNO@@][@@GSSNE']
-
-if '-D' not in sys.argv:
-  RenderView1 = GetRenderView()
-  RenderView1.CameraPosition = [1.0, 0.5, 10000.0]
-
-  RenderView1.CameraPosition = [1.0, 0.5, 4.319751617610021]
-
-  ELNOfieldToSurface3 = ELNOfieldToSurface(Input=testMEDReader13_med)
-
-  DataRepresentation2 = Show()
-  #DataRepresentation2.ConstantRadius = 1.9999333620071411
-  DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-  #DataRepresentation2.PointGaussianDefaultsInitialized = 1
-  DataRepresentation2.SelectionPointFieldDataArrayName = 'fieldELNO'
-  DataRepresentation2.SelectionCellFieldDataArrayName = 'FamilyIdCell'
-  #DataRepresentation2.SelectInputVectors = ['POINTS', 'fieldELNO_Vector']
-  DataRepresentation2.ScalarOpacityUnitDistance = 1.7746382108908556
-  DataRepresentation2.Texture = []
-  DataRepresentation2.ExtractedBlockIndex = 1
-  #DataRepresentation2.RadiusRange = [6.666666740784422e-05, 1.9999333620071411]
-  DataRepresentation2.ScaleFactor = 0.19998666953397334
-
-  #DataRepresentation2.RadiusRange = [6.66667e-05, 1.99993]
-  DataRepresentation2.ColorArrayName = ('POINT_DATA', 'fieldELNO_Vector')
-
-  a3_fieldELNO_Vector_PVLookupTable = GetLookupTableForArray( "fieldELNO_Vector", 3, RGBPoints=[0.3464101615137755, 0.23, 0.299, 0.754, 1.1258330249197703, 0.865, 0.865, 0.865, 1.9052558883257653, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0 )
-
-  a3_fieldELNO_Vector_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.3464101615137755, 0.0, 0.5, 0.0, 1.9052558883257653, 1.0, 0.5, 0.0] )
-
-  RenderView1.ViewSize =[300,300]
-  Render()
-
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader13.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
+def GenerateCase():
+  """ This test is non regression test to check non regression of EDF 8761. ELNO Mesh filter on vector field with 4 comps cut of using GenerateVectors"""
+
+  fname="testMEDReader13.med"
+  #
+
+  m=MEDCouplingUMesh("mesh",2)
+  m.setCoords(DataArrayDouble([0.,0.,0.,1.,0.,0.,2.,0.,0.,1.,1.,0.],4,3))
+  m.allocateCells()
+  m.insertNextCell(NORM_TRI3,[0,1,3]) ; m.insertNextCell(NORM_TRI3,[1,2,3])
+  f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setName("fieldELNO") ; f.setMesh(m)
+  arr=DataArrayDouble([0.2,1.1,0.7,0.5,-0.3,0.4])
+  f.setArray(DataArrayDouble.Meld(4*[arr]))
+  f.checkConsistencyLight()
+  WriteField(fname,f,True)
+  return fname
+
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  ################### MED write is done -> Go to MEDReader
+  testMEDReader13_med = MEDReader( FileName=fname )
+
+  testMEDReader13_med.GenerateVectors = 1
+  testMEDReader13_med.AllArrays = ['TS0/mesh/ComSup0/fieldELNO@@][@@GSSNE']
+
+  if '-D' not in sys.argv:
+    RenderView1 = GetRenderView()
+    RenderView1.CameraPosition = [1.0, 0.5, 10000.0]
+
+    RenderView1.CameraPosition = [1.0, 0.5, 4.319751617610021]
+
+    ELNOfieldToSurface3 = ELNOfieldToSurface(Input=testMEDReader13_med)
+
+    DataRepresentation2 = Show()
+    #DataRepresentation2.ConstantRadius = 1.9999333620071411
+    DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+    #DataRepresentation2.PointGaussianDefaultsInitialized = 1
+    DataRepresentation2.SelectionPointFieldDataArrayName = 'fieldELNO'
+    DataRepresentation2.SelectionCellFieldDataArrayName = 'FamilyIdCell'
+    #DataRepresentation2.SelectInputVectors = ['POINTS', 'fieldELNO_Vector']
+    DataRepresentation2.ScalarOpacityUnitDistance = 1.7746382108908556
+    DataRepresentation2.Texture = []
+    DataRepresentation2.ExtractedBlockIndex = 1
+    #DataRepresentation2.RadiusRange = [6.666666740784422e-05, 1.9999333620071411]
+    DataRepresentation2.ScaleFactor = 0.19998666953397334
+
+    #DataRepresentation2.RadiusRange = [6.66667e-05, 1.99993]
+    DataRepresentation2.ColorArrayName = ('POINT_DATA', 'fieldELNO_Vector')
+
+    a3_fieldELNO_Vector_PVLookupTable = GetLookupTableForArray( "fieldELNO_Vector", 3, RGBPoints=[0.3464101615137755, 0.23, 0.299, 0.754, 1.1258330249197703, 0.865, 0.865, 0.865, 1.9052558883257653, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0 )
+
+    a3_fieldELNO_Vector_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.3464101615137755, 0.0, 0.5, 0.0, 1.9052558883257653, 1.0, 0.5, 0.0] )
+
+    RenderView1.ViewSize =[300,300]
+    Render()
+
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
+
+if __name__ == "__main__":
+  outImgName="testMEDReader13.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 84d11abef4609e6db4224991e8bc0ad9578a5730..e8eca2c118100ee13db465043b9dee2ea77b33f8 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+paraview.simple._DisableFirstRenderCameraReset()
 
-""" This test reproduces precisely the bug EDF8655 (PAL 22677) by cheking that multi loc per geo type in a field is correctly managed.
-"""
+def GenerateCase():
+    """ This test reproduces precisely the bug EDF8655 (PAL 22677) by cheking that multi loc per geo type in a field is correctly managed.
+    """
 
-fname="testMEDReader14.med"
-outImgName="testMEDReader14.png"
+    fname="testMEDReader14.med"
 
-arr0=DataArrayDouble(7) ; arr0.iota()
-arr1=DataArrayDouble(5) ; arr1.iota()
-c=MEDCouplingCMesh()
-c.setCoords(arr0,arr1)
-m=c.build1SGTUnstructured()
-pfl=DataArrayInt([5,10,11,16,17,23])
-m0=m[pfl.buildComplement(24)]
-m1=m[pfl] ; m1.simplexize(0)
-m=MEDCouplingUMesh.MergeUMeshesOnSameCoords(m1.buildUnstructured(),m0.buildUnstructured())
-m.setName("Mesh")
-m1=MEDCoupling1SGTUMesh(m.getName(),NORM_SEG2)
-m1.setCoords(m.getCoords())
-m1.allocateCells()
-for i in [[28,21],[21,14],[14,7],[7,0]]:
-    m1.insertNextCell(i)
-    pass
-for i in range(6):
-    m1.insertNextCell([i,i+1])
-    pass
-for i in [[6,13],[13,20],[20,27],[27,34]]:
-    m1.insertNextCell(i)
-    pass
-for i in range(6,0,-1):
-    m1.insertNextCell([28+i,28+i-1])
-    pass
-#
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m)
-mm.setMeshAtLevel(-1,m1)
-mm.write(fname,2)
-#
-pfl0=DataArrayInt([0,1,2,3]) ; pfl0.setName("PFL000")
-pfl1=DataArrayInt([4,5,6,7,8,9]) ; pfl1.setName("PFL001")
-pfl2=DataArrayInt([10,11,12,13]) ; pfl2.setName("PFL002")
-pfl3=DataArrayInt([13,14,15,16,19,20,23,24,26,27,28,29]) ; pfl3.setName("PFL003")
-#
-fieldName0="zeField0"
-fieldName1="zeField1"
-fieldName2="zeField2"
-fs0=MEDFileFieldMultiTS()
-fs1=MEDFileFieldMultiTS()
-fs2=MEDFileFieldMultiTS()
-for i in range(5):
-    f=MEDFileField1TS()
-    zePfl0=DataArrayInt.Aggregate(DataArrayInt.Range(0,12,1),pfl3,0) ; zePfl0.setName("PFL")
-    fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
-    tmp=m[zePfl0]
-    fNode.setName(fieldName0) ; fNode.setMesh(tmp)
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,12,1),[0.,0.,1.,0.,0.,1.],[0.1,0.1,0.8,0.1,0.1,0.8],3*[0.16666666666666666])
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(12,24,1),[-1.,-1.,1.,-1.,1.,1.,-1.,1.],[-0.577350,-0.577350,0.577350,-0.577350,0.577350,0.577350,-0.577350,0.577350],4*[1.])
-    arr=DataArrayDouble(2*(12*3+12*4)) ; arr.iota(0+1000*i) ; arr.rearrange(2)
-    fNode.setArray(arr) ; arr.setInfoOnComponents(["Comp1_2 [m]","Com2_2 [s^2]"]) ; fNode.checkConsistencyLight()
-    fNode.setName(fieldName0)
-    f.setFieldProfile(fNode,mm,0,zePfl0)
-    #
-    zePfl1=DataArrayInt.Range(0,14,1) ; zePfl1.setName("PFL")
-    fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
-    tmp=m1[zePfl1]
+    arr0=DataArrayDouble(7) ; arr0.iota()
+    arr1=DataArrayDouble(5) ; arr1.iota()
+    c=MEDCouplingCMesh()
+    c.setCoords(arr0,arr1)
+    m=c.build1SGTUnstructured()
+    pfl=DataArrayInt([5,10,11,16,17,23])
+    m0=m[pfl.buildComplement(24)]
+    m1=m[pfl] ; m1.simplexize(0)
+    m=MEDCouplingUMesh.MergeUMeshesOnSameCoords(m1.buildUnstructured(),m0.buildUnstructured())
+    m.setName("Mesh")
+    m1=MEDCoupling1SGTUMesh(m.getName(),NORM_SEG2)
+    m1.setCoords(m.getCoords())
+    m1.allocateCells()
+    for i in [[28,21],[21,14],[14,7],[7,0]]:
+        m1.insertNextCell(i)
+        pass
+    for i in range(6):
+        m1.insertNextCell([i,i+1])
+        pass
+    for i in [[6,13],[13,20],[20,27],[27,34]]:
+        m1.insertNextCell(i)
+        pass
+    for i in range(6,0,-1):
+        m1.insertNextCell([28+i,28+i-1])
+        pass
     #
-    fNode.setName(fieldName0) ; fNode.setMesh(tmp)
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,4,1),[-1.,1.],[-0.33333333333333337,0.33333333333333337],[1.,1.])
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(4,10,1),[-1.,1.],[-0.5,0.,0.5],[1.,1.,1.])
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(10,14,1),[-1.,1.],[-0.6,-0.2,0.2,0.6],[1.,1.,1.,1.])
-    arr=DataArrayDouble(2*(4*2+6*3+4*4)) ; arr.iota(100+1000*i) ; arr.rearrange(2)
-    fNode.setArray(arr) ; arr.setInfoOnComponents(["Comp1_2 [m]","Com2_2 [s^2]"]) ; fNode.checkConsistencyLight()
-    fNode.setName(fieldName0)
-    f.setFieldProfile(fNode,mm,-1,zePfl1)
-    fs0.pushBackTimeStep(f)
+    mm=MEDFileUMesh()
+    mm.setMeshAtLevel(0,m)
+    mm.setMeshAtLevel(-1,m1)
+    mm.write(fname,2)
     #
-    f=MEDFileField1TS()
-    zePfl2=DataArrayInt.Range(10,20,1) ; zePfl2.setName("PFL2")
-    fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
-    tmp=m1[zePfl2]
-    fNode.setName(fieldName1) ; fNode.setMesh(tmp)
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,4,1),[-1.,1.],[-0.6,-0.2,0.2,0.6],[1.,1.,1.,1.])
-    fNode.setGaussLocalizationOnCells(DataArrayInt.Range(4,10,1),[-1.,1.],[-0.6666666666666667,-0.33333333333333337,0.,0.33333333333333337,0.6666666666666667],[1.,1.,1.,1.,1.])
-    arr=DataArrayDouble(2*(4*4+6*5)) ; arr.iota(500+1000*i) ; arr.rearrange(2)
-    fNode.setArray(arr) ; arr.setInfoOnComponents(["C1 [m]","C2 [s^2]"]) ; fNode.checkConsistencyLight()
-    f.setFieldProfile(fNode,mm,-1,zePfl2)
-    fs1.pushBackTimeStep(f)
+    pfl0=DataArrayInt([0,1,2,3]) ; pfl0.setName("PFL000")
+    pfl1=DataArrayInt([4,5,6,7,8,9]) ; pfl1.setName("PFL001")
+    pfl2=DataArrayInt([10,11,12,13]) ; pfl2.setName("PFL002")
+    pfl3=DataArrayInt([13,14,15,16,19,20,23,24,26,27,28,29]) ; pfl3.setName("PFL003")
     #
-    f=MEDFileField1TS()
-    zePfl3=DataArrayInt([6,10,11,12,13,17,18,19,20,24,25,26,27,34]) ; zePfl3.setName("PFL3")
-    fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setTime(float(i),i,0)
-    fNode.setName(fieldName2)
-    arr=DataArrayDouble(2*14) ; arr.iota(700+1000*i) ; arr.rearrange(2)
-    fNode.setArray(arr) ; arr.setInfoOnComponents(["C3 [kg]","C4 [m^2]"])
-    f.setFieldProfile(fNode,mm,0,zePfl3)
-    fs2.pushBackTimeStep(f)
-    pass
-fs0.write(fname,0)
-fs1.write(fname,0)
-fs2.write(fname,0)
+    fieldName0="zeField0"
+    fieldName1="zeField1"
+    fieldName2="zeField2"
+    fs0=MEDFileFieldMultiTS()
+    fs1=MEDFileFieldMultiTS()
+    fs2=MEDFileFieldMultiTS()
+    for i in range(5):
+        f=MEDFileField1TS()
+        zePfl0=DataArrayInt.Aggregate(DataArrayInt.Range(0,12,1),pfl3,0) ; zePfl0.setName("PFL")
+        fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
+        tmp=m[zePfl0]
+        fNode.setName(fieldName0) ; fNode.setMesh(tmp)
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,12,1),[0.,0.,1.,0.,0.,1.],[0.1,0.1,0.8,0.1,0.1,0.8],3*[0.16666666666666666])
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(12,24,1),[-1.,-1.,1.,-1.,1.,1.,-1.,1.],[-0.577350,-0.577350,0.577350,-0.577350,0.577350,0.577350,-0.577350,0.577350],4*[1.])
+        arr=DataArrayDouble(2*(12*3+12*4)) ; arr.iota(0+1000*i) ; arr.rearrange(2)
+        fNode.setArray(arr) ; arr.setInfoOnComponents(["Comp1_2 [m]","Com2_2 [s^2]"]) ; fNode.checkConsistencyLight()
+        fNode.setName(fieldName0)
+        f.setFieldProfile(fNode,mm,0,zePfl0)
+        #
+        zePfl1=DataArrayInt.Range(0,14,1) ; zePfl1.setName("PFL")
+        fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
+        tmp=m1[zePfl1]
+        #
+        fNode.setName(fieldName0) ; fNode.setMesh(tmp)
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,4,1),[-1.,1.],[-0.33333333333333337,0.33333333333333337],[1.,1.])
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(4,10,1),[-1.,1.],[-0.5,0.,0.5],[1.,1.,1.])
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(10,14,1),[-1.,1.],[-0.6,-0.2,0.2,0.6],[1.,1.,1.,1.])
+        arr=DataArrayDouble(2*(4*2+6*3+4*4)) ; arr.iota(100+1000*i) ; arr.rearrange(2)
+        fNode.setArray(arr) ; arr.setInfoOnComponents(["Comp1_2 [m]","Com2_2 [s^2]"]) ; fNode.checkConsistencyLight()
+        fNode.setName(fieldName0)
+        f.setFieldProfile(fNode,mm,-1,zePfl1)
+        fs0.pushBackTimeStep(f)
+        #
+        f=MEDFileField1TS()
+        zePfl2=DataArrayInt.Range(10,20,1) ; zePfl2.setName("PFL2")
+        fNode=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fNode.setTime(float(i),i,0)
+        tmp=m1[zePfl2]
+        fNode.setName(fieldName1) ; fNode.setMesh(tmp)
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(0,4,1),[-1.,1.],[-0.6,-0.2,0.2,0.6],[1.,1.,1.,1.])
+        fNode.setGaussLocalizationOnCells(DataArrayInt.Range(4,10,1),[-1.,1.],[-0.6666666666666667,-0.33333333333333337,0.,0.33333333333333337,0.6666666666666667],[1.,1.,1.,1.,1.])
+        arr=DataArrayDouble(2*(4*4+6*5)) ; arr.iota(500+1000*i) ; arr.rearrange(2)
+        fNode.setArray(arr) ; arr.setInfoOnComponents(["C1 [m]","C2 [s^2]"]) ; fNode.checkConsistencyLight()
+        f.setFieldProfile(fNode,mm,-1,zePfl2)
+        fs1.pushBackTimeStep(f)
+        #
+        f=MEDFileField1TS()
+        zePfl3=DataArrayInt([6,10,11,12,13,17,18,19,20,24,25,26,27,34]) ; zePfl3.setName("PFL3")
+        fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setTime(float(i),i,0)
+        fNode.setName(fieldName2)
+        arr=DataArrayDouble(2*14) ; arr.iota(700+1000*i) ; arr.rearrange(2)
+        fNode.setArray(arr) ; arr.setInfoOnComponents(["C3 [kg]","C4 [m^2]"])
+        f.setFieldProfile(fNode,mm,0,zePfl3)
+        fs2.pushBackTimeStep(f)
+        pass
+    fs0.write(fname,0)
+    fs1.write(fname,0)
+    fs2.write(fname,0)
+    return fname
 
-#
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    reader=MEDReader(FileName=fname)
+    ExpectedEntries=['TS0/Mesh/ComSup0/zeField0_MM0@@][@@GAUSS', 'TS0/Mesh/ComSup1/zeField0_MM1@@][@@GAUSS', 'TS0/Mesh/ComSup2/zeField0_MM2@@][@@GAUSS', 'TS0/Mesh/ComSup2/zeField1_MM0@@][@@GAUSS', 'TS0/Mesh/ComSup3/zeField1_MM1@@][@@GAUSS', 'TS0/Mesh/ComSup4/zeField2@@][@@P1', 'TS1/Mesh/ComSup0/Mesh@@][@@P0']
+    assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
 
-from paraview.simple import *
+    if '-D' not in sys.argv:
+        renderView1=GetActiveViewOrCreate('RenderView')
+        for entry in [[ExpectedEntries[0]],[ExpectedEntries[1]],[ExpectedEntries[2],ExpectedEntries[3]],[ExpectedEntries[4]]]:
+            reader=MEDReader(FileName=fname)
+            reader.AllArrays=entry
+            gaussPoints=ELGAfieldToPointGaussian(Input=reader)
+            gaussPoints.SelectSourceArray="ELGA@0"
+            Show(gaussPoints,renderView1)
+            pass
 
-paraview.simple._DisableFirstRenderCameraReset()
-reader=MEDReader(FileName=fname)
-ExpectedEntries=['TS0/Mesh/ComSup0/zeField0_MM0@@][@@GAUSS', 'TS0/Mesh/ComSup1/zeField0_MM1@@][@@GAUSS', 'TS0/Mesh/ComSup2/zeField0_MM2@@][@@GAUSS', 'TS0/Mesh/ComSup2/zeField1_MM0@@][@@GAUSS', 'TS0/Mesh/ComSup3/zeField1_MM1@@][@@GAUSS', 'TS0/Mesh/ComSup4/zeField2@@][@@P1', 'TS1/Mesh/ComSup0/Mesh@@][@@P0']
-assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
+        #
 
-if '-D' not in sys.argv:
-    renderView1=GetActiveViewOrCreate('RenderView')
-    for entry in [[ExpectedEntries[0]],[ExpectedEntries[1]],[ExpectedEntries[2],ExpectedEntries[3]],[ExpectedEntries[4]]]:
-        reader=MEDReader(FileName=fname)
-        reader.AllArrays=entry
-        gaussPoints=ELGAfieldToPointGaussian(Input=reader)
-        gaussPoints.SelectSourceArray="ELGA@0"
-        Show(gaussPoints,renderView1)
-        pass
+        readerNodeField=MEDReader(FileName=fname)
+        readerNodeField.AllArrays=[ExpectedEntries[5]]
+        nodeFieldDisplay=Show(readerNodeField,renderView1)
+        ColorBy(nodeFieldDisplay,('POINTS','zeField2'))
+        nodeFieldDisplay.RescaleTransferFunctionToDataRange(True)
+        zeField2LUT=GetColorTransferFunction('zeField2')
+        zeField2LUT.RGBPoints=[990.6568528002015, 0.231373, 0.298039, 0.752941, 1009.0416245953584, 0.865003, 0.865003, 0.865003, 1027.4263963905153, 0.705882, 0.0156863, 0.14902]
+        zeField2LUT.ScalarRangeInitialized=1.
+        #
+        renderView1.ResetCamera()
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [3.0, 2.0, 10000.0]
+        renderView1.CameraFocalPoint = [3.0, 2.0, 0.0]
+        renderView1.ViewSize =[300,300]
+        renderView1.GetRenderWindow().DoubleBufferOff()
+        #
 
-    #
-
-    readerNodeField=MEDReader(FileName=fname)
-    readerNodeField.AllArrays=[ExpectedEntries[5]]
-    nodeFieldDisplay=Show(readerNodeField,renderView1)
-    ColorBy(nodeFieldDisplay,('POINTS','zeField2'))
-    nodeFieldDisplay.RescaleTransferFunctionToDataRange(True)
-    zeField2LUT=GetColorTransferFunction('zeField2')
-    zeField2LUT.RGBPoints=[990.6568528002015, 0.231373, 0.298039, 0.752941, 1009.0416245953584, 0.865003, 0.865003, 0.865003, 1027.4263963905153, 0.705882, 0.0156863, 0.14902]
-    zeField2LUT.ScalarRangeInitialized=1.
-    #
-    renderView1.ResetCamera()
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [3.0, 2.0, 10000.0]
-    renderView1.CameraFocalPoint = [3.0, 2.0, 0.0]
-    renderView1.ViewSize =[300,300]
-    renderView1.GetRenderWindow().DoubleBufferOff()
-    #
-
-    Render()
+        Render()
 
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, "testMEDReader14.png")
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(renderView1.GetRenderWindow(), baseline_file,
-                                                                threshold=1)
-    vtk.test.Testing.interact()
+        # compare with baseline image
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(renderView1.GetRenderWindow(), baseline_file,
+                                                                    threshold=1)
+        vtk.test.Testing.interact()
+        
+if __name__ == "__main__":
+    outImgName="testMEDReader14.png"
+    baseline_file = RetriveBaseLine(outImgName)
+    test(baseline_file)
+    pass
index f9680a24760b54c84b03710fb0e3759a19882315..f3ea0e2429f89e7d4915200d50a54d531d0a200d 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-""" This test is a non regression test that checks the behaviour of MEDReader when a mesh has the same name than a field.
-"""
+paraview.simple._DisableFirstRenderCameraReset()
 
-fname="testMEDReader15.med"
-outImgName="testMEDReader15.png"
+def GenerateCase():
+  """ This test is a non regression test that checks the behaviour of MEDReader when a mesh has the same name than a field.
+  """
 
-zeName="zeName"
-c=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(0.,1.,0.)])
-m=MEDFileUMesh()
-m.setCoords(c)
-m.setName(zeName)
-m.write(fname,2)
-f=MEDCouplingFieldDouble(ON_NODES)
-f.setName(zeName)
-f.setArray(DataArrayDouble([(-1.,1.,0.),(0.,1.,0.),(1.,1.,0.)]))
-tmp=MEDCouplingUMesh.Build0DMeshFromCoords(m.getCoords()) ; tmp.setName(zeName)
-f.setMesh(tmp)
-WriteFieldUsingAlreadyWrittenMesh(fname,f)
-#
+  fname="testMEDReader15.med"
 
-from paraview.simple import *
+  zeName="zeName"
+  c=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(0.,1.,0.)])
+  m=MEDFileUMesh()
+  m.setCoords(c)
+  m.setName(zeName)
+  m.write(fname,2)
+  f=MEDCouplingFieldDouble(ON_NODES)
+  f.setName(zeName)
+  f.setArray(DataArrayDouble([(-1.,1.,0.),(0.,1.,0.),(1.,1.,0.)]))
+  tmp=MEDCouplingUMesh.Build0DMeshFromCoords(m.getCoords()) ; tmp.setName(zeName)
+  f.setMesh(tmp)
+  WriteFieldUsingAlreadyWrittenMesh(fname,f)
+  return fname
 
-paraview.simple._DisableFirstRenderCameraReset()
-reader=MEDReader(FileName=fname)
-ExpectedEntries=['TS0/zeName/ComSup0/zeName@@][@@P1','TS0/zeName/ComSup0/MESH@zeName@@][@@P1']
-assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  reader=MEDReader(FileName=fname)
+  ExpectedEntries=['TS0/zeName/ComSup0/zeName@@][@@P1','TS0/zeName/ComSup0/MESH@zeName@@][@@P1']
+  assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
 
-#
-glyph1=Glyph(Input=reader,GlyphType='Arrow',ScaleArray='FamilyIdNode',OrientationArray='zeName',GlyphMode='All Points',ScaleFactor=0.1,GlyphTransform='Transform2')
+  #
+  glyph1=Glyph(Input=reader,GlyphType='Arrow',ScaleArray='FamilyIdNode',OrientationArray='zeName',GlyphMode='All Points',ScaleFactor=0.1,GlyphTransform='Transform2')
 
-if '-D' not in sys.argv:
-  renderView1=GetActiveViewOrCreate('RenderView')
-  renderView1.InteractionMode='3D'
-  zeNameLUT = GetColorTransferFunction('zeName')
-  zeNameLUT.RGBPoints = [1.0, 0.231373, 0.298039, 0.752941, 1.2071067811865475, 0.865003, 0.865003, 0.865003, 1.4142135623730951, 0.705882, 0.0156863, 0.14902]
-  zeNameLUT.ScalarRangeInitialized = 1.
-  zeNameLUT.VectorMode = 'Component'
+  if '-D' not in sys.argv:
+    renderView1=GetActiveViewOrCreate('RenderView')
+    renderView1.InteractionMode='3D'
+    zeNameLUT = GetColorTransferFunction('zeName')
+    zeNameLUT.RGBPoints = [1.0, 0.231373, 0.298039, 0.752941, 1.2071067811865475, 0.865003, 0.865003, 0.865003, 1.4142135623730951, 0.705882, 0.0156863, 0.14902]
+    zeNameLUT.ScalarRangeInitialized = 1.
+    zeNameLUT.VectorMode = 'Component'
 
-  glyph1Display=Show(glyph1,renderView1)
-  glyph1Display.ColorArrayName = ['POINTS', 'FamilyIdNode']
-  glyph1Display.LookupTable = zeNameLUT
-  # set scalar coloring
-  ColorBy(glyph1Display, ('POINTS', 'zeName'))
-  # rescale color and/or opacity maps used to include current data range
-  glyph1Display.RescaleTransferFunctionToDataRange(True)
-  # do not show color bar/color legend
-  glyph1Display.SetScalarBarVisibility(renderView1, False)
-  #
-  renderView1.ViewSize =[300,300]
-  renderView1.GetRenderWindow().DoubleBufferOff()
-  Render()
+    glyph1Display=Show(glyph1,renderView1)
+    glyph1Display.ColorArrayName = ['POINTS', 'FamilyIdNode']
+    glyph1Display.LookupTable = zeNameLUT
+    # set scalar coloring
+    ColorBy(glyph1Display, ('POINTS', 'zeName'))
+    # rescale color and/or opacity maps used to include current data range
+    glyph1Display.RescaleTransferFunctionToDataRange(True)
+    # do not show color bar/color legend
+    glyph1Display.SetScalarBarVisibility(renderView1, False)
+    #
+    renderView1.ViewSize =[300,300]
+    renderView1.GetRenderWindow().DoubleBufferOff()
+    Render()
+
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader15.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader15.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index acd783010c96270e153ec80f9c3dc04269409ce5..cc31f6c792438f23b5b468e011247b6b71df22dd 100644 (file)
 #
 # Author : Anthony Geay (EDF R&D)
 
-from MEDLoader import *
-
-""" This test is a non regression test of EDF8662 : This bug revealed that ELNOfieldToSurface and ELNOfieldToPointGaussian do not behave correctly after the call of ExtractGroup"""
-
-fname="testMEDReader16.med"
-
-arr=DataArrayDouble([0,1,2])
-m=MEDCouplingCMesh() ; m.setCoords(arr,arr) ; m=m.buildUnstructured() ; m.setName("Mesh")
-mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m)
-grp0=DataArrayInt([0,1]) ; grp0.setName("grp0")
-grp1=DataArrayInt([2,3]) ; grp1.setName("grp1")
-grp2=DataArrayInt([1,2]) ; grp2.setName("grp2")
-grp3=DataArrayInt([0,1,2,3]) ; grp3.setName("grp3")
-mm.setGroupsAtLevel(0,[grp0,grp1,grp2,grp3])
-f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setMesh(m) ; f.setName("MyField") ; f.setTime(0.,0,0)
-arr2=DataArrayDouble(4*4*2) ; arr2.iota() ; arr2.rearrange(2) ; arr2.setInfoOnComponents(["aa","bbb"])
-f.setArray(arr2) ; arr2+=0.1 ; f.checkConsistencyLight()
-mm.write(fname,2)
-WriteFieldUsingAlreadyWrittenMesh(fname,f)
-#
+from medcoupling import *
 from paraview.simple import *
 from paraview import servermanager
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
 paraview.simple._DisableFirstRenderCameraReset()
-reader=MEDReader(FileName=fname)
-ExpectedEntries=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE','TS1/Mesh/ComSup0/Mesh@@][@@P0']
-assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
-reader.AllArrays=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE']
-ExtractGroup1 = ExtractGroup(Input=reader)
-#ExtractGroup1.UpdatePipelineInformation()
-ExtractGroup1.AllGroups=["GRP_grp1"]
-ELNOfieldToSurface1=ELNOfieldToSurface(Input=ExtractGroup1)
-ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=ExtractGroup1)
-ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
-for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
-    elnoMesh=servermanager.Fetch(ELNOfieldToPointGaussian1,0)
-    vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
-    assert(vtkArrToTest.GetNumberOfTuples()==8)
-    assert(vtkArrToTest.GetNumberOfComponents()==2)
-    assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
-    assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
-    vals=[vtkArrToTest.GetValue(i) for i in range(16)]
-    assert(arr2[8:].isEqualWithoutConsideringStr(DataArrayDouble(vals,8,2),1e-12))
-    pass
-#
-ExtractGroup1.AllGroups=["GRP_grp2"]
-for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
-    elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
-    vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
-    assert(vtkArrToTest.GetNumberOfTuples()==8)
-    assert(vtkArrToTest.GetNumberOfComponents()==2)
-    assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
-    assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
-    vals=[vtkArrToTest.GetValue(i) for i in range(16)]
-    assert(arr2[4:12].isEqualWithoutConsideringStr(DataArrayDouble(vals,8,2),1e-12))
-    pass
-# important to check that if all the field is present that it is OK (check of the optimization)
-ExtractGroup1.AllGroups=["GRP_grp3"]
-for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
-    elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
-    vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
-    assert(vtkArrToTest.GetNumberOfTuples()==16)
-    assert(vtkArrToTest.GetNumberOfComponents()==2)
-    assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
-    assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
-    vals=[vtkArrToTest.GetValue(i) for i in range(32)]
-    assert(arr2.isEqualWithoutConsideringStr(DataArrayDouble(vals,16,2),1e-12))
-    pass
-ELNOfieldToSurface1=ELNOfieldToSurface(Input=reader)
-ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=reader)
-ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
-for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
-    elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
-    vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
-    assert(vtkArrToTest.GetNumberOfTuples()==16)
-    assert(vtkArrToTest.GetNumberOfComponents()==2)
-    assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
-    assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
-    vals=[vtkArrToTest.GetValue(i) for i in range(32)]
-    assert(arr2.isEqualWithoutConsideringStr(DataArrayDouble(vals,16,2),1e-12))
-    pass
+
+def GenerateCase():
+    """ This test is a non regression test of EDF8662 : This bug revealed that ELNOfieldToSurface and ELNOfieldToPointGaussian do not behave correctly after the call of ExtractGroup"""
+
+    fname="testMEDReader16.med"
+
+    arr=DataArrayDouble([0,1,2])
+    m=MEDCouplingCMesh() ; m.setCoords(arr,arr) ; m=m.buildUnstructured() ; m.setName("Mesh")
+    mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m)
+    grp0=DataArrayInt([0,1]) ; grp0.setName("grp0")
+    grp1=DataArrayInt([2,3]) ; grp1.setName("grp1")
+    grp2=DataArrayInt([1,2]) ; grp2.setName("grp2")
+    grp3=DataArrayInt([0,1,2,3]) ; grp3.setName("grp3")
+    mm.setGroupsAtLevel(0,[grp0,grp1,grp2,grp3])
+    f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setMesh(m) ; f.setName("MyField") ; f.setTime(0.,0,0)
+    arr2=DataArrayDouble(4*4*2) ; arr2.iota() ; arr2.rearrange(2) ; arr2.setInfoOnComponents(["aa","bbb"])
+    f.setArray(arr2) ; arr2+=0.1 ; f.checkConsistencyLight()
+    mm.write(fname,2)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f)
+    return fname, arr2
+
+
+@WriteInTmpDir
+def test():
+    fname,arr2 = GenerateCase()
+    #
+    reader=MEDReader(FileName=fname)
+    ExpectedEntries=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE','TS1/Mesh/ComSup0/Mesh@@][@@P0']
+    assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
+    reader.AllArrays=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE']
+    ExtractGroup1 = ExtractGroup(Input=reader)
+    #ExtractGroup1.UpdatePipelineInformation()
+    ExtractGroup1.AllGroups=["GRP_grp1"]
+    ELNOfieldToSurface1=ELNOfieldToSurface(Input=ExtractGroup1)
+    ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=ExtractGroup1)
+    ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
+    for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
+        elnoMesh=servermanager.Fetch(ELNOfieldToPointGaussian1,0)
+        vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
+        assert(vtkArrToTest.GetNumberOfTuples()==8)
+        assert(vtkArrToTest.GetNumberOfComponents()==2)
+        assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
+        assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
+        vals=[vtkArrToTest.GetValue(i) for i in range(16)]
+        assert(arr2[8:].isEqualWithoutConsideringStr(DataArrayDouble(vals,8,2),1e-12))
+        pass
+    #
+    ExtractGroup1.AllGroups=["GRP_grp2"]
+    for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
+        elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
+        vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
+        assert(vtkArrToTest.GetNumberOfTuples()==8)
+        assert(vtkArrToTest.GetNumberOfComponents()==2)
+        assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
+        assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
+        vals=[vtkArrToTest.GetValue(i) for i in range(16)]
+        assert(arr2[4:12].isEqualWithoutConsideringStr(DataArrayDouble(vals,8,2),1e-12))
+        pass
+    # important to check that if all the field is present that it is OK (check of the optimization)
+    ExtractGroup1.AllGroups=["GRP_grp3"]
+    for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
+        elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
+        vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
+        assert(vtkArrToTest.GetNumberOfTuples()==16)
+        assert(vtkArrToTest.GetNumberOfComponents()==2)
+        assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
+        assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
+        vals=[vtkArrToTest.GetValue(i) for i in range(32)]
+        assert(arr2.isEqualWithoutConsideringStr(DataArrayDouble(vals,16,2),1e-12))
+        pass
+    ELNOfieldToSurface1=ELNOfieldToSurface(Input=reader)
+    ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=reader)
+    ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
+    for elt in [ELNOfieldToSurface1,ELNOfieldToPointGaussian1]:
+        elnoMesh=servermanager.Fetch(ELNOfieldToSurface1)
+        vtkArrToTest=elnoMesh.GetBlock(0).GetPointData().GetArray("MyField")
+        assert(vtkArrToTest.GetNumberOfTuples()==16)
+        assert(vtkArrToTest.GetNumberOfComponents()==2)
+        assert(vtkArrToTest.GetComponentName(0)==arr2.getInfoOnComponent(0))
+        assert(vtkArrToTest.GetComponentName(1)==arr2.getInfoOnComponent(1))
+        vals=[vtkArrToTest.GetValue(i) for i in range(32)]
+        assert(arr2.isEqualWithoutConsideringStr(DataArrayDouble(vals,16,2),1e-12))
+        pass
+
+if __name__ == "__main__":
+  test()
+  pass
index 0268efc3d5116fa672e45253d85b2f6d0df0efc4..893ff4e12fec43789c4efb6f90db73a11b8c561a 100644 (file)
 #
 # Author : Anthony Geay (EDF R&D)
 
-from MEDLoader import *
-
-""" This test is a non regression test of EDF9622."""
-
-fname="testMEDReader17.med"
-
-arr=DataArrayDouble([0,1,2])
-m=MEDCouplingCMesh() ; m.setCoords(arr,arr) ; m=m.buildUnstructured() ; m.setName("Mesh")
-mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m)
-grp0=DataArrayInt([0,1]) ; grp0.setName("grp0")
-grp1=DataArrayInt([2,3]) ; grp1.setName("grp1")
-grp2=DataArrayInt([1,2]) ; grp2.setName("grp2")
-grp3=DataArrayInt([0,1,2,3]) ; grp3.setName("grp3")
-mm.setGroupsAtLevel(0,[grp0,grp1,grp2,grp3])
-f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setMesh(m) ; f.setName("MyField") ; f.setTime(0.,0,0)
-arr2=DataArrayDouble(4*4*2) ; arr2.iota() ; arr2.rearrange(2) ; arr2.setInfoOnComponents(["aa","bbb"])
-f.setArray(arr2) ; arr2+=0.1 ; f.checkConsistencyLight()
-mm.write(fname,2)
-WriteFieldUsingAlreadyWrittenMesh(fname,f)
-#
+from medcoupling import *
 from paraview.simple import *
 from paraview import servermanager
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
 paraview.simple._DisableFirstRenderCameraReset()
-reader=MEDReader(FileName=fname)
-ExpectedEntries=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE','TS1/Mesh/ComSup0/Mesh@@][@@P0']
-assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
-reader.AllArrays=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE']
-ExtractGroup1 = ExtractGroup(Input=reader)
-#ExtractGroup1.UpdatePipelineInformation()
-ExtractGroup1.AllGroups=["GRP_grp1"]
-ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=ExtractGroup1)
-ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
-#
-ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=reader)
-ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
-ExtractGroup1 = ExtractGroup(Input=ELNOfieldToPointGaussian1)
-#ExtractGroup1.UpdatePipelineInformation()
-ExtractGroup1.AllGroups=["GRP_grp1"]
-#ExtractGroup1.UpdatePipeline()
-res=servermanager.Fetch(ExtractGroup1,0)
-assert(res.GetBlock(0).GetNumberOfCells()==8)
-vtkArrToTest=res.GetBlock(0).GetPointData().GetArray("MyField")
-assert(vtkArrToTest.GetNumberOfComponents()==2)
-assert(vtkArrToTest.GetNumberOfTuples()==8)
-vals=[vtkArrToTest.GetValue(i) for i in range(16)]
-assert(DataArrayDouble([(16.1,17.1),(18.1,19.1),(20.1,21.1),(22.1,23.1),(24.1,25.1),(26.1,27.1),(28.1,29.1),(30.1,31.1)]).isEqual(DataArrayDouble(vals,8,2),1e-12))
+
+def GenerateCase():
+    """ This test is a non regression test of EDF9622."""
+
+    fname="testMEDReader17.med"
+
+    arr=DataArrayDouble([0,1,2])
+    m=MEDCouplingCMesh() ; m.setCoords(arr,arr) ; m=m.buildUnstructured() ; m.setName("Mesh")
+    mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m)
+    grp0=DataArrayInt([0,1]) ; grp0.setName("grp0")
+    grp1=DataArrayInt([2,3]) ; grp1.setName("grp1")
+    grp2=DataArrayInt([1,2]) ; grp2.setName("grp2")
+    grp3=DataArrayInt([0,1,2,3]) ; grp3.setName("grp3")
+    mm.setGroupsAtLevel(0,[grp0,grp1,grp2,grp3])
+    f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setMesh(m) ; f.setName("MyField") ; f.setTime(0.,0,0)
+    arr2=DataArrayDouble(4*4*2) ; arr2.iota() ; arr2.rearrange(2) ; arr2.setInfoOnComponents(["aa","bbb"])
+    f.setArray(arr2) ; arr2+=0.1 ; f.checkConsistencyLight()
+    mm.write(fname,2)
+    WriteFieldUsingAlreadyWrittenMesh(fname,f)
+    return fname
+
+@WriteInTmpDir
+def test():
+    fname = GenerateCase()
+    #
+    reader=MEDReader(FileName=fname)
+    ExpectedEntries=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE','TS1/Mesh/ComSup0/Mesh@@][@@P0']
+    assert(reader.GetProperty("FieldsTreeInfo")[::2]==ExpectedEntries)
+    reader.AllArrays=['TS0/Mesh/ComSup0/MyField@@][@@GSSNE']
+    ExtractGroup1 = ExtractGroup(Input=reader)
+    #ExtractGroup1.UpdatePipelineInformation()
+    ExtractGroup1.AllGroups=["GRP_grp1"]
+    ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=ExtractGroup1)
+    ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
+    #
+    ELNOfieldToPointGaussian1=ELNOfieldToPointGaussian(Input=reader)
+    ELNOfieldToPointGaussian1.SelectSourceArray=['ELNO@MyField']
+    ExtractGroup1 = ExtractGroup(Input=ELNOfieldToPointGaussian1)
+    #ExtractGroup1.UpdatePipelineInformation()
+    ExtractGroup1.AllGroups=["GRP_grp1"]
+    #ExtractGroup1.UpdatePipeline()
+    res=servermanager.Fetch(ExtractGroup1,0)
+    assert(res.GetBlock(0).GetNumberOfCells()==8)
+    vtkArrToTest=res.GetBlock(0).GetPointData().GetArray("MyField")
+    assert(vtkArrToTest.GetNumberOfComponents()==2)
+    assert(vtkArrToTest.GetNumberOfTuples()==8)
+    vals=[vtkArrToTest.GetValue(i) for i in range(16)]
+    assert(DataArrayDouble([(16.1,17.1),(18.1,19.1),(20.1,21.1),(22.1,23.1),(24.1,25.1),(26.1,27.1),(28.1,29.1),(30.1,31.1)]).isEqual(DataArrayDouble(vals,8,2),1e-12))
+
+if __name__ == "__main__":
+    test()
index 3937a719b9ac338797b71d7725b26b91027e0398..fc668781290ce96199306b165edaa4aa3c5de8e5 100644 (file)
 #
 # Author : Anthony Geay (EDF R&D)
 
-# Non regression test for bug EDF11343. Extract group on groups mixing cells entities and node entities.
 
-from MEDLoader import *
-
-fname="testMEDReader18.med"
-arr1=DataArrayDouble(5) ; arr1.iota()
-arr2=DataArrayDouble([0,1])
-m=MEDCouplingCMesh() ; m.setCoords(arr1,arr2)
-m.setName("mesh")
-m=m.buildUnstructured()
-#
-mm=MEDFileUMesh()
-mm[0]=m
-#
-grp0=DataArrayInt([1,2]) ; grp0.setName("grp0")
-grp1=DataArrayInt([3,4,8,9]) ; grp1.setName("grp1")
-#
-mm.addGroup(0,grp0)
-mm.addGroup(1,grp1)
-#
-mm.write(fname,2)
-#####
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
+def GenerateCase():
+    """Non regression test for bug EDF11343. Extract group on groups mixing cells entities and node entities."""
+    fname="testMEDReader18.med"
+    arr1=DataArrayDouble(5) ; arr1.iota()
+    arr2=DataArrayDouble([0,1])
+    m=MEDCouplingCMesh() ; m.setCoords(arr1,arr2)
+    m.setName("mesh")
+    m=m.buildUnstructured()
+    #
+    mm=MEDFileUMesh()
+    mm[0]=m
+    #
+    grp0=DataArrayInt([1,2]) ; grp0.setName("grp0")
+    grp1=DataArrayInt([3,4,8,9]) ; grp1.setName("grp1")
+    #
+    mm.addGroup(0,grp0)
+    mm.addGroup(1,grp1)
+    #
+    mm.write(fname,2)
+    return fname
+
+@WriteInTmpDir
+def test():
+  fname = GenerateCase()
+  reader=MEDReader(FileName=fname)
+  reader.AllArrays=['TS0/mesh/ComSup0/mesh@@][@@P0']
+  ExtractGroup1 = ExtractGroup(Input=reader)
+  ExtractGroup1.AllGroups=["GRP_grp0","GRP_grp1"]
+  #ExtractGroup1.UpdatePipelineInformation()
+  res=servermanager.Fetch(ExtractGroup1,0)
+  assert(res.GetNumberOfBlocks()==2)
+  assert(res.GetBlock(1).GetNumberOfCells()==1)
+  assert(res.GetBlock(0).GetNumberOfCells()==2)
+  pass
+
+if __name__ == "__main__":
+    test()
+    pass
+
 
-reader=MEDReader(FileName=fname)
-reader.AllArrays=['TS0/mesh/ComSup0/mesh@@][@@P0']
-ExtractGroup1 = ExtractGroup(Input=reader)
-ExtractGroup1.AllGroups=["GRP_grp0","GRP_grp1"]
-#ExtractGroup1.UpdatePipelineInformation()
-res=servermanager.Fetch(ExtractGroup1,0)
-assert(res.GetNumberOfBlocks()==2)
-assert(res.GetBlock(1).GetNumberOfCells()==1)
-assert(res.GetBlock(0).GetNumberOfCells()==2)
index ac689b70877df0f3d75169f73014d81683f11ba1..0b476e1f5c4a3a33227be485882c70ac6147c890 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-""" This is a non regression bug revealed during training session. The bug is linked to the native Threshold VTK filter. Corrected with PV version >= 4.4. (KW10658)
-There is still a problem when both image comparison and Fetch are enable together."""
-
-fname="testMEDReader19.med"
-imgName="testMEDReader19.png"
-meshName="mesh"
-mm=MEDFileUMesh()
-coo=DataArrayDouble([(-0.3,-0.3),(0.2,-0.3),(0.7,-0.3),(-0.3,0.2),(0.2,0.2),(0.7,0.2),(-0.3,0.7),(0.2,0.7),(0.7,0.7)])
-conn0=[[NORM_TRI3,1,4,2],[NORM_TRI3,4,5,2],[NORM_QUAD4,0,3,4,1],[NORM_QUAD4,6,7,4,3],[NORM_QUAD4,7,8,5,4]]
-conn1=[[NORM_SEG2,4,5],[NORM_SEG2,5,2],[NORM_SEG2,1,0],[NORM_SEG2,6,7]]
-m0=MEDCouplingUMesh() ; m0.setCoords(coo) ; m0.setMeshDimension(2) ; m0.allocateCells(0)
-for c in conn0:
-    m0.insertNextCell(c[0],c[1:])
-mm[0]=m0
-m1=MEDCouplingUMesh() ; m1.setCoords(coo) ; m1.setMeshDimension(1) ; m1.allocateCells(0)
-for c in conn1:
-    m1.insertNextCell(c[0],c[1:])
-mm[-1]=m1
-mm.setName(meshName)
-mm.write(fname,2)
-#
-#### import the simple module from the paraview
+from medcoupling import *
 from paraview.simple import *
-import vtk.test.Testing # this line must be here. If not SIGSEGV ! KW10658
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+#### import the simple module from the paraview
 #### disable automatic camera reset on 'Show'
 paraview.simple._DisableFirstRenderCameraReset()
-# create a new 'MED Reader'
-testMEDReader19med = MEDReader(FileName=fname)
-testMEDReader19med.AllArrays = ['TS0/mesh/ComSup0/mesh@@][@@P0']
-testMEDReader19med.AllTimeSteps = ['0000']
-# Properties modified on testMEDReader19med
-testMEDReader19med.AllArrays = ['TS0/mesh/ComSup0/mesh@@][@@P0']
+import vtk.test.Testing # this line must be here. If not SIGSEGV ! KW10658
+
+def GenerateCase():
+    """ This is a non regression bug revealed during training session. The bug is linked to the native Threshold VTK filter. Corrected with PV version >= 4.4. (KW10658)
+    There is still a problem when both image comparison and Fetch are enable together."""
+    fname="testMEDReader19.med"
+    meshName="mesh"
+    mm=MEDFileUMesh()
+    coo=DataArrayDouble([(-0.3,-0.3),(0.2,-0.3),(0.7,-0.3),(-0.3,0.2),(0.2,0.2),(0.7,0.2),(-0.3,0.7),(0.2,0.7),(0.7,0.7)])
+    conn0=[[NORM_TRI3,1,4,2],[NORM_TRI3,4,5,2],[NORM_QUAD4,0,3,4,1],[NORM_QUAD4,6,7,4,3],[NORM_QUAD4,7,8,5,4]]
+    conn1=[[NORM_SEG2,4,5],[NORM_SEG2,5,2],[NORM_SEG2,1,0],[NORM_SEG2,6,7]]
+    m0=MEDCouplingUMesh() ; m0.setCoords(coo) ; m0.setMeshDimension(2) ; m0.allocateCells(0)
+    for c in conn0:
+        m0.insertNextCell(c[0],c[1:])
+    mm[0]=m0
+    m1=MEDCouplingUMesh() ; m1.setCoords(coo) ; m1.setMeshDimension(1) ; m1.allocateCells(0)
+    for c in conn1:
+        m1.insertNextCell(c[0],c[1:])
+    mm[-1]=m1
+    mm.setName(meshName)
+    mm.write(fname,2)
+    return fname
+
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    # create a new 'MED Reader'
+    testMEDReader19med = MEDReader(FileName=fname)
+    testMEDReader19med.AllArrays = ['TS0/mesh/ComSup0/mesh@@][@@P0']
+    testMEDReader19med.AllTimeSteps = ['0000']
+    # Properties modified on testMEDReader19med
+    testMEDReader19med.AllArrays = ['TS0/mesh/ComSup0/mesh@@][@@P0']
+
+    if '-D' not in sys.argv:
+        # get active view
+        renderView1 = GetActiveViewOrCreate('RenderView')
 
-if '-D' not in sys.argv:
-    # get active view
-    renderView1 = GetActiveViewOrCreate('RenderView')
+        # reset view to fit data
+        renderView1.ResetCamera()
 
-    # reset view to fit data
-    renderView1.ResetCamera()
+        #changing interaction mode based on data extents
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [0.2, 0.2, 10000.0]
+        renderView1.CameraFocalPoint = [0.2, 0.2, 0.0]
+        testMEDReader19med.UpdatePipeline()
+        # create a new 'Extract Cell Type'
+        extractCellType1 = ExtractCellType(Input=testMEDReader19med)
+        extractCellType1.AllGeoTypes = []
 
-    #changing interaction mode based on data extents
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [0.2, 0.2, 10000.0]
-    renderView1.CameraFocalPoint = [0.2, 0.2, 0.0]
-    testMEDReader19med.UpdatePipeline()
-    # create a new 'Extract Cell Type'
-    extractCellType1 = ExtractCellType(Input=testMEDReader19med)
-    extractCellType1.AllGeoTypes = []
+        # Properties modified on extractCellType1
+        extractCellType1.AllGeoTypes = ['TRI3']
 
-    # Properties modified on extractCellType1
-    extractCellType1.AllGeoTypes = ['TRI3']
+        # show data in view
+        extractCellType1Display = Show(extractCellType1, renderView1)
+        # trace defaults for the display properties.
+        extractCellType1Display.ColorArrayName = [None, '']
+        extractCellType1Display.ScalarOpacityUnitDistance = 0.5
 
-    # show data in view
-    extractCellType1Display = Show(extractCellType1, renderView1)
-    # trace defaults for the display properties.
-    extractCellType1Display.ColorArrayName = [None, '']
-    extractCellType1Display.ScalarOpacityUnitDistance = 0.5
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [0.2, 0.2, 10000.0]
+        renderView1.CameraFocalPoint = [0.2, 0.2, 0.0]
+        renderView1.CameraParallelScale = 0.7071067811865476
 
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [0.2, 0.2, 10000.0]
-    renderView1.CameraFocalPoint = [0.2, 0.2, 0.0]
-    renderView1.CameraParallelScale = 0.7071067811865476
+        res=servermanager.Fetch(extractCellType1,0)
+        assert(res.GetBlock(0).GetNumberOfCells()==2) # problem was here in PV4.3.1
 
-    res=servermanager.Fetch(extractCellType1,0)
-    assert(res.GetBlock(0).GetNumberOfCells()==2) # problem was here in PV4.3.1
+        # compare with baseline image # Waiting KW return to uncomment this part because SIGSEGV in PV5.
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
+        vtk.test.Testing.interact()
 
-    # compare with baseline image # Waiting KW return to uncomment this part because SIGSEGV in PV5.
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, imgName)
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
-    vtk.test.Testing.interact()
+if __name__ == "__main__":
+    imgName="testMEDReader19.png"
+    baseline_file = RetriveBaseLine(imgName)
+    test(baseline_file)
index 38d5f4c3fe05992f7743897fab7824cbe5b4133f..5374a13de9c527ec22bc6ca3ae49d44ed8d0e1b7 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-fname="testMEDReader2.med"
-outImgName="testMEDReader2.png"
-
-""" This use case is a mesh containing a large number of orphan cells (cells having no field lying on them)
-"""
-#########
-arrX=DataArrayDouble(7) ; arrX.iota()
-arrY=DataArrayDouble(7) ; arrY.iota()
-arrZ=DataArrayDouble(7) ; arrZ.iota()
-m=MEDCouplingCMesh()
-m.setCoords(arrX,arrY,arrZ)
-m=m.buildUnstructured() ; m.setName("mesh")
-tmp=m[3*36:4*36]
-tmp=tmp.buildDescendingConnectivity()[0]
-nodeIds=tmp.findNodesOnPlane([0.,0.,3.],[0.,0.,1.],1e-12)
-cellIds=tmp.getCellIdsLyingOnNodes(nodeIds,True)
-m1=tmp[cellIds]
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m)
-mm.setMeshAtLevel(-1,m1)
-mm.write(fname,2)
-#
-pfl=DataArrayInt([7,8,9,10,13,14,15,16,19,20,21,22,25,26,27,28]) ; pfl.setName("pfl")
-f=MEDCouplingFieldDouble(ON_CELLS) ; f.setName("ACellField")
-arr=DataArrayDouble(16) ; arr.iota()
-arr2=arr.deepCopy() ; arr2.reverse()
-arr=DataArrayDouble.Meld(arr,arr2) ; arr.setInfoOnComponents(["aa","bbb"])
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldProfile(f,mm,-1,pfl)
-f1ts.write(fname,0)
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-################### MED write is done -> Go to MEDReader
+def GenerateCase():
+  """ This use case is a mesh containing a large number of orphan cells (cells having no field lying on them)
+  """
+  fname="testMEDReader2.med"
+  #########
+  arrX=DataArrayDouble(7) ; arrX.iota()
+  arrY=DataArrayDouble(7) ; arrY.iota()
+  arrZ=DataArrayDouble(7) ; arrZ.iota()
+  m=MEDCouplingCMesh()
+  m.setCoords(arrX,arrY,arrZ)
+  m=m.buildUnstructured() ; m.setName("mesh")
+  tmp=m[3*36:4*36]
+  tmp=tmp.buildDescendingConnectivity()[0]
+  nodeIds=tmp.findNodesOnPlane([0.,0.,3.],[0.,0.,1.],1e-12)
+  cellIds=tmp.getCellIdsLyingOnNodes(nodeIds,True)
+  m1=tmp[cellIds]
+  mm=MEDFileUMesh()
+  mm.setMeshAtLevel(0,m)
+  mm.setMeshAtLevel(-1,m1)
+  mm.write(fname,2)
+  #
+  pfl=DataArrayInt([7,8,9,10,13,14,15,16,19,20,21,22,25,26,27,28]) ; pfl.setName("pfl")
+  f=MEDCouplingFieldDouble(ON_CELLS) ; f.setName("ACellField")
+  arr=DataArrayDouble(16) ; arr.iota()
+  arr2=arr.deepCopy() ; arr2.reverse()
+  arr=DataArrayDouble.Meld(arr,arr2) ; arr.setInfoOnComponents(["aa","bbb"])
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldProfile(f,mm,-1,pfl)
+  f1ts.write(fname,0)
+  return fname
 
-from paraview.simple import *
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  ################### MED write is done -> Go to MEDReader
+  testMEDReader1=MEDReader(FileName=fname)
+  testMEDReader1.AllArrays=['TS0/mesh/ComSup0/ACellField@@][@@P0']
+  testMEDReader2=MEDReader(FileName=fname)
+  testMEDReader2.AllArrays=['TS0/mesh/ComSup1/mesh@@][@@P0']
+  GroupDatasets1=GroupDatasets(Input=[testMEDReader1,testMEDReader2])
 
-testMEDReader1=MEDReader(FileName=fname)
-testMEDReader1.AllArrays=['TS0/mesh/ComSup0/ACellField@@][@@P0']
-testMEDReader2=MEDReader(FileName=fname)
-testMEDReader2.AllArrays=['TS0/mesh/ComSup1/mesh@@][@@P0']
-GroupDatasets1=GroupDatasets(Input=[testMEDReader1,testMEDReader2])
+  Clip1 = Clip(ClipType="Plane",Input=GroupDatasets1)
+  Clip1.Scalars=['FamilyIdCell']
+  Clip1.ClipType.Origin=[3.0, 3.0, 3.0]
+  Clip1.Invert=1
+  Clip1.ClipType.Normal=[0.9255623174457069, 0.0027407477590518157, 0.378585373233375]
+  Clip1.Scalars=['CELLS']
 
-Clip1 = Clip(ClipType="Plane",Input=GroupDatasets1)
-Clip1.Scalars=['FamilyIdCell']
-Clip1.ClipType.Origin=[3.0, 3.0, 3.0]
-Clip1.Invert=1
-Clip1.ClipType.Normal=[0.9255623174457069, 0.0027407477590518157, 0.378585373233375]
-Clip1.Scalars=['CELLS']
+  DataRepresentation4 = Show()
+  DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+  DataRepresentation4.SelectionCellFieldDataArrayName = 'ACellField'
+  DataRepresentation4.ScalarOpacityUnitDistance = 1.61104723630366
+  DataRepresentation4.ExtractedBlockIndex = 2
+  DataRepresentation4.ScaleFactor = 0.6000000000000001
+  DataRepresentation4.Visibility = 1
+  DataRepresentation4.Representation = 'Wireframe'
 
-DataRepresentation4 = Show()
-DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-DataRepresentation4.SelectionCellFieldDataArrayName = 'ACellField'
-DataRepresentation4.ScalarOpacityUnitDistance = 1.61104723630366
-DataRepresentation4.ExtractedBlockIndex = 2
-DataRepresentation4.ScaleFactor = 0.6000000000000001
-DataRepresentation4.Visibility = 1
-DataRepresentation4.Representation = 'Wireframe'
+  ExtractBlock1 = ExtractBlock(Input=Clip1)
+  ExtractBlock1.BlockIndices=[1, 2]
 
-ExtractBlock1 = ExtractBlock(Input=Clip1)
-ExtractBlock1.BlockIndices=[1, 2]
+  DataRepresentation5 = Show()
+  DataRepresentation5.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+  DataRepresentation5.SelectionCellFieldDataArrayName = 'FamilyIdCell'
+  DataRepresentation5.ScaleFactor = 0.6
+  a2_ACellField_PVLookupTable=GetLookupTableForArray( "ACellField", 2, RGBPoints=[10.63014581273465, 0.23, 0.299, 0.754, 15.0, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+  a2_ACellField_PiecewiseFunction=CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
+  a2_ACellField_PVLookupTable.ScalarOpacityFunction = a2_ACellField_PiecewiseFunction
+  DataRepresentation5.ScalarOpacityFunction = a2_ACellField_PiecewiseFunction
+  DataRepresentation5.LookupTable = a2_ACellField_PVLookupTable
+  DataRepresentation5.ColorArrayName = ("CELLS", "ACellField")
 
-DataRepresentation5 = Show()
-DataRepresentation5.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-DataRepresentation5.SelectionCellFieldDataArrayName = 'FamilyIdCell'
-DataRepresentation5.ScaleFactor = 0.6
-a2_ACellField_PVLookupTable=GetLookupTableForArray( "ACellField", 2, RGBPoints=[10.63014581273465, 0.23, 0.299, 0.754, 15.0, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-a2_ACellField_PiecewiseFunction=CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
-a2_ACellField_PVLookupTable.ScalarOpacityFunction = a2_ACellField_PiecewiseFunction
-DataRepresentation5.ScalarOpacityFunction = a2_ACellField_PiecewiseFunction
-DataRepresentation5.LookupTable = a2_ACellField_PVLookupTable
-DataRepresentation5.ColorArrayName = ("CELLS", "ACellField")
+  if '-D' not in sys.argv:
+    RenderView1 = GetRenderView()
+    RenderView1.CenterOfRotation = [3.0, 3.0, 3.0]
+    RenderView1.CameraViewUp = [-0.03886073885859842, 0.48373409998193495, 0.8743518533691291]
+    RenderView1.CameraPosition = [7.351939549758929, -5.688193007926853, 8.000155023042788]
+    RenderView1.CameraFocalPoint = [2.9999999999999996, 2.9999999999999987, 2.9999999999999982]
 
-if '-D' not in sys.argv:
-  RenderView1 = GetRenderView()
-  RenderView1.CenterOfRotation = [3.0, 3.0, 3.0]
-  RenderView1.CameraViewUp = [-0.03886073885859842, 0.48373409998193495, 0.8743518533691291]
-  RenderView1.CameraPosition = [7.351939549758929, -5.688193007926853, 8.000155023042788]
-  RenderView1.CameraFocalPoint = [2.9999999999999996, 2.9999999999999987, 2.9999999999999982]
+    RenderView1.ViewSize =[300,300]
+    Render()
 
-  RenderView1.ViewSize =[300,300]
-  Render()
+    #WriteImage(outImgName)
 
-  #WriteImage(outImgName)
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader2.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader2.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 1374c086e62f8112f567eb2f8ed2a5f3c10f2c19..b8447ce1dad7f50170d0dde08a1bece207ebf7b9 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-fname="testMEDReader20.med"
-png="testMEDReader20.png"
-nb=10
-arrX=DataArrayDouble(nb+1) ; arrX.iota()
-arrY=DataArrayDouble([0.,1.])
-m=MEDCouplingCMesh() ; m.setCoords(arrX,arrY) ; m=m.buildUnstructured(); m.setName("mesh") ; m.simplexize(0)
-mm=MEDFileUMesh() ; mm[0]=m
-m1=m.computeSkin() ; mm[-1]=m1
-#
-f0=DataArrayInt(m1.getNumberOfCells()) ; f0.iota() ; mm.setFamilyFieldArr(-1,f0)
-f1=DataArrayInt(m1.getNumberOfNodes()) ; f1.iota() ; mm.setFamilyFieldArr(1,f1) # <- very important the bug can be shown here
-#
-nbCells=m1.getNumberOfCells() ; nbNodes=m.getNumberOfNodes()
-mm.write(fname,2)
-for i in range(5):
-    f=MEDCouplingFieldDouble(ON_CELLS) ; f.setMesh(m)
-    f.setName("Field")
-    arr=DataArrayInt(2*nb) ; arr.iota(i) ; arr%=nb ; arr=arr.convertToDblArr()
-    f.setArray(arr) ; f.setTime(float(i),i,0)
-    WriteFieldUsingAlreadyWrittenMesh(fname,f)
-    #
-    f=MEDCouplingFieldDouble(ON_CELLS) ; f.setMesh(m1)
-    f.setName("Field")
-    arr=DataArrayInt(nbCells) ; arr.iota(i) ; arr%=nbCells ; arr=arr.convertToDblArr()
-    f.setArray(arr) ; f.setTime(float(i),i,0)
-    WriteFieldUsingAlreadyWrittenMesh(fname,f)
-    #
-    f=MEDCouplingFieldDouble(ON_NODES) ; f.setMesh(m)
-    f.setName("FieldNode")
-    arr=DataArrayDouble(nbNodes) ; arr[:]=float(i)
-    f.setArray(arr) ; f.setTime(float(i),i,0)
-    WriteFieldUsingAlreadyWrittenMesh(fname,f)
-    pass
-#####################
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
 #### disable automatic camera reset on 'Show'
 paraview.simple._DisableFirstRenderCameraReset()
 
-# create a new 'MED Reader'
-testMEDReader20med = MEDReader(FileName=fname)
-testMEDReader20med.AllArrays = ['TS0/mesh/ComSup0/Field@@][@@P0']
-testMEDReader20med.AllTimeSteps = ['0000', '0001', '0002', '0003', '0004']
-
-# get animation scene
-animationScene1 = GetAnimationScene()
-
-# update animation scene based on data timesteps
-animationScene1.UpdateAnimationUsingDataTimeSteps()
-
-if '-D' not in sys.argv:
-    # get active view
-    renderView1 = GetActiveViewOrCreate('RenderView')
-    # uncomment following to set a specific view size
-    # renderView1.ViewSize = [610, 477]
-
-    # show data in view
-    testMEDReader20medDisplay = Show(testMEDReader20med, renderView1)
-    # trace defaults for the display properties.
-    testMEDReader20medDisplay.ColorArrayName = [None, '']
-    testMEDReader20medDisplay.GlyphType = 'Arrow'
-    testMEDReader20medDisplay.ScalarOpacityUnitDistance = 4.664739046219201
-
-    # reset view to fit data
-    renderView1.ResetCamera()
-
-    #changing interaction mode based on data extents
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [5.0, 0.5, 10000.0]
-    renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
-
-    # set scalar coloring
-    ColorBy(testMEDReader20medDisplay, ('CELLS', 'Field'))
-
-    # rescale color and/or opacity maps used to include current data range
-    testMEDReader20medDisplay.RescaleTransferFunctionToDataRange(True)
-
-    # do not show color bar/color legend
-    testMEDReader20medDisplay.SetScalarBarVisibility(renderView1, False)
-
-    # get color transfer function/color map for 'Field'
-    fieldLUT = GetColorTransferFunction('Field')
-
-    # get opacity transfer function/opacity map for 'Field'
-    fieldPWF = GetOpacityTransferFunction('Field')
-
-    animationScene1.GoToNext() # <- very important to see the bug play with time steps...
-    animationScene1.GoToNext()
-    animationScene1.GoToNext()
-    animationScene1.GoToNext()
-    animationScene1.GoToPrevious()
-    animationScene1.GoToPrevious()
-
-    # current camera placement for renderView1
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [5.0, 0.5, 10000.0]
-    renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
-    renderView1.CameraParallelScale = 5.024937810560445
-
+def GenerateCase():
+    fname="testMEDReader20.med"
+    nb=10
+    arrX=DataArrayDouble(nb+1) ; arrX.iota()
+    arrY=DataArrayDouble([0.,1.])
+    m=MEDCouplingCMesh() ; m.setCoords(arrX,arrY) ; m=m.buildUnstructured(); m.setName("mesh") ; m.simplexize(0)
+    mm=MEDFileUMesh() ; mm[0]=m
+    m1=m.computeSkin() ; mm[-1]=m1
     #
-
-    renderView1.ViewSize =[300,300]
-    Render()
-    #WriteImage(png)
-
-    #### saving camera placements for all active views
-
-    # current camera placement for renderView1
-    renderView1.InteractionMode = '2D'
-    renderView1.CameraPosition = [5.0, 0.5, 10000.0]
-    renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
-    renderView1.CameraParallelScale = 5.024937810560445
-
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath,png)
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
-    vtk.test.Testing.interact()
+    f0=DataArrayInt(m1.getNumberOfCells()) ; f0.iota() ; mm.setFamilyFieldArr(-1,f0)
+    f1=DataArrayInt(m1.getNumberOfNodes()) ; f1.iota() ; mm.setFamilyFieldArr(1,f1) # <- very important the bug can be shown here
+    #
+    nbCells=m1.getNumberOfCells() ; nbNodes=m.getNumberOfNodes()
+    mm.write(fname,2)
+    for i in range(5):
+        f=MEDCouplingFieldDouble(ON_CELLS) ; f.setMesh(m)
+        f.setName("Field")
+        arr=DataArrayInt(2*nb) ; arr.iota(i) ; arr%=nb ; arr=arr.convertToDblArr()
+        f.setArray(arr) ; f.setTime(float(i),i,0)
+        WriteFieldUsingAlreadyWrittenMesh(fname,f)
+        #
+        f=MEDCouplingFieldDouble(ON_CELLS) ; f.setMesh(m1)
+        f.setName("Field")
+        arr=DataArrayInt(nbCells) ; arr.iota(i) ; arr%=nbCells ; arr=arr.convertToDblArr()
+        f.setArray(arr) ; f.setTime(float(i),i,0)
+        WriteFieldUsingAlreadyWrittenMesh(fname,f)
+        #
+        f=MEDCouplingFieldDouble(ON_NODES) ; f.setMesh(m)
+        f.setName("FieldNode")
+        arr=DataArrayDouble(nbNodes) ; arr[:]=float(i)
+        f.setArray(arr) ; f.setTime(float(i),i,0)
+        WriteFieldUsingAlreadyWrittenMesh(fname,f)
+        pass
+    return fname
+
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    #####################
+    # create a new 'MED Reader'
+    testMEDReader20med = MEDReader(FileName=fname)
+    testMEDReader20med.AllArrays = ['TS0/mesh/ComSup0/Field@@][@@P0']
+    testMEDReader20med.AllTimeSteps = ['0000', '0001', '0002', '0003', '0004']
+
+    # get animation scene
+    animationScene1 = GetAnimationScene()
+
+    # update animation scene based on data timesteps
+    animationScene1.UpdateAnimationUsingDataTimeSteps()
+
+    if '-D' not in sys.argv:
+        # get active view
+        renderView1 = GetActiveViewOrCreate('RenderView')
+        # uncomment following to set a specific view size
+        # renderView1.ViewSize = [610, 477]
+
+        # show data in view
+        testMEDReader20medDisplay = Show(testMEDReader20med, renderView1)
+        # trace defaults for the display properties.
+        testMEDReader20medDisplay.ColorArrayName = [None, '']
+        testMEDReader20medDisplay.GlyphType = 'Arrow'
+        testMEDReader20medDisplay.ScalarOpacityUnitDistance = 4.664739046219201
+
+        # reset view to fit data
+        renderView1.ResetCamera()
+
+        #changing interaction mode based on data extents
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [5.0, 0.5, 10000.0]
+        renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
+
+        # set scalar coloring
+        ColorBy(testMEDReader20medDisplay, ('CELLS', 'Field'))
+
+        # rescale color and/or opacity maps used to include current data range
+        testMEDReader20medDisplay.RescaleTransferFunctionToDataRange(True)
+
+        # do not show color bar/color legend
+        testMEDReader20medDisplay.SetScalarBarVisibility(renderView1, False)
+
+        # get color transfer function/color map for 'Field'
+        fieldLUT = GetColorTransferFunction('Field')
+
+        # get opacity transfer function/opacity map for 'Field'
+        fieldPWF = GetOpacityTransferFunction('Field')
+
+        animationScene1.GoToNext() # <- very important to see the bug play with time steps...
+        animationScene1.GoToNext()
+        animationScene1.GoToNext()
+        animationScene1.GoToNext()
+        animationScene1.GoToPrevious()
+        animationScene1.GoToPrevious()
+
+        # current camera placement for renderView1
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [5.0, 0.5, 10000.0]
+        renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
+        renderView1.CameraParallelScale = 5.024937810560445
+
+        #
+
+        renderView1.ViewSize =[300,300]
+        Render()
+        #WriteImage(png)
+
+        #### saving camera placements for all active views
+
+        # current camera placement for renderView1
+        renderView1.InteractionMode = '2D'
+        renderView1.CameraPosition = [5.0, 0.5, 10000.0]
+        renderView1.CameraFocalPoint = [5.0, 0.5, 0.0]
+        renderView1.CameraParallelScale = 5.024937810560445
+
+        # compare with baseline image
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
+        vtk.test.Testing.interact()
+        pass
+
+if __name__ == "__main__":
+  outImgName="testMEDReader20.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index dc6633e3dc606a424e9bcd2fa995930e78b61a44..133fee3dcceea73cd3d5b200509fd9328262a6c3 100644 (file)
 import os
 import sys
 
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
+def GenerateCase():
+  """ This is a non regression EDF12599"""
+  fname="testMEDReader21.med"
+  fieldName="MyField"
+  meshName="mesh"
+  m=MEDFileUMesh()
+  m0=MEDCouplingUMesh(meshName,1)
+  m0.setCoords(DataArrayDouble([(0.,0.,0),(1.,0.,0.),(2.,0.,0.)]))
+  m0.allocateCells()
+  m0.insertNextCell(NORM_SEG2,[0,1])
+  m0.insertNextCell(NORM_SEG2,[1,2])
+  m[0]=m0
+  #
+  f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setName(fieldName)
+  f.setMesh(m0) ; f.setArray(DataArrayDouble([1.,7.,3.,2.]))
+  WriteField(fname,f,True)
+  return fname, meshName, fieldName
+
+@WriteInTmpDir
+def test(baseline_file):
+  fname, meshName, fieldName = GenerateCase()
+  ########
+  testTotomed = MEDReader(FileName=fname)
+  testTotomed.AllArrays = ['TS0/%s/ComSup0/%s@@][@@GSSNE'%(meshName,fieldName)]
+  testTotomed.AllTimeSteps = ['0000']
+
+  if '-D' not in sys.argv:
+    # get active view
+    renderView1 = GetActiveViewOrCreate('RenderView')
+    # uncomment following to set a specific view size
+    # renderView1.ViewSize = [739, 503]
+
+    # show data in view
+    testTotomedDisplay = Show(testTotomed, renderView1)
+    # trace defaults for the display properties.
+    testTotomedDisplay.ColorArrayName = [None, '']
+    testTotomedDisplay.GlyphType = 'Arrow'
+    testTotomedDisplay.ScalarOpacityUnitDistance = 1.5874010519681994
+
+    # reset view to fit data
+    renderView1.ResetCamera()
+
+    #changing interaction mode based on data extents
+    renderView1.InteractionMode = '2D'
+    renderView1.CameraPosition = [1.0, 10000.0, 10000.0]
+    renderView1.CameraFocalPoint = [1.0, 0.0, 0.0]
+    renderView1.CameraViewUp = [1.0, 1.0, 0.0]
+
+    # set scalar coloring
+    ColorBy(testTotomedDisplay, ('FIELD', 'vtkBlockColors'))
+
+    # hide color bar/color legend
+    testTotomedDisplay.SetScalarBarVisibility(renderView1, False)
+
+    # get color transfer function/color map for 'vtkBlockColors'
+    vtkBlockColorsLUT = GetColorTransferFunction('vtkBlockColors')
+
+    # get opacity transfer function/opacity map for 'vtkBlockColors'
+    vtkBlockColorsPWF = GetOpacityTransferFunction('vtkBlockColors')
+
+    # create a new 'ELNO Mesh'
+    eLNOMesh1 = ELNOfieldToSurface(Input=testTotomed)
+
+    # Properties modified on eLNOMesh1
+    eLNOMesh1.ShrinkFactor = 0.5 # <- test is here !!!!!!!!
+
+    # show data in view
+    eLNOMesh1Display = Show(eLNOMesh1, renderView1)
+    # trace defaults for the display properties.
+    eLNOMesh1Display.ColorArrayName = [None, '']
+    eLNOMesh1Display.GlyphType = 'Arrow'
+    eLNOMesh1Display.ScalarOpacityUnitDistance = 1.1905507889761495
+
+    # hide data in view
+    Hide(testTotomed, renderView1)
+
+    # set scalar coloring
+    ColorBy(eLNOMesh1Display, ('FIELD', 'vtkBlockColors'))
+
+    # show color bar/color legend
+    eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
+
+    # set scalar coloring
+    ColorBy(eLNOMesh1Display, ('POINTS', 'MyField'))
+
+    # rescale color and/or opacity maps used to include current data range
+    eLNOMesh1Display.RescaleTransferFunctionToDataRange(True)
+
+    # show color bar/color legend
+    eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
+
+    # get color transfer function/color map for 'MyField'
+    myFieldLUT = GetColorTransferFunction('MyField')
+
+    # get opacity transfer function/opacity map for 'MyField'
+    myFieldPWF = GetOpacityTransferFunction('MyField')
+
+    # hide color bar/color legend
+    eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
+
+    # create a new 'Glyph'
+    glyph1 = Glyph(Input=eLNOMesh1,
+        GlyphType='Arrow')
+    glyph1.ScaleArray = []
+    glyph1.OrientationArray = ['POINTS', 'No orientation array']
+    glyph1.ScaleFactor = 0.15000000000000002
+    glyph1.GlyphTransform = 'Transform2'
+
+    # Properties modified on glyph1
+    glyph1.GlyphType = 'Sphere'
+    glyph1.ScaleFactor = 0.15
+
+    # show data in view
+    glyph1Display = Show(glyph1, renderView1)
+    # trace defaults for the display properties.
+    glyph1Display.ColorArrayName = ['POINTS', 'MyField']
+    glyph1Display.LookupTable = myFieldLUT
+    glyph1Display.GlyphType = 'Arrow'
+
+    # hide color bar/color legend
+    glyph1Display.SetScalarBarVisibility(renderView1, False)
+
+    #### saving camera placements for all active views
+
+    # current camera placement for renderView1
+    renderView1.InteractionMode = '2D'
+    renderView1.CameraPosition = [0.9999999999999908, 9999.999999999995, 9999.999999999993]
+    renderView1.CameraFocalPoint = [1.0, 0.0, 0.0]
+    renderView1.CameraViewUp = [0.6331899945158901, 0.547298104713038, -0.5472981047130381]
+    renderView1.CameraParallelScale = 0.6930835077290218
+    renderView1.ViewSize = [739,503]
+
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
+    vtk.test.Testing.interact()
 
-from MEDLoader import *
-
-""" This is a non regression EDF12599"""
-fname="testMEDReader21.med"
-imgName="testMEDReader21.png"
-fieldName="MyField"
-meshName="mesh"
-m=MEDFileUMesh()
-m0=MEDCouplingUMesh(meshName,1)
-m0.setCoords(DataArrayDouble([(0.,0.,0),(1.,0.,0.),(2.,0.,0.)]))
-m0.allocateCells()
-m0.insertNextCell(NORM_SEG2,[0,1])
-m0.insertNextCell(NORM_SEG2,[1,2])
-m[0]=m0
-#
-f=MEDCouplingFieldDouble(ON_GAUSS_NE) ; f.setName(fieldName)
-f.setMesh(m0) ; f.setArray(DataArrayDouble([1.,7.,3.,2.]))
-WriteField(fname,f,True)
-########
-testTotomed = MEDReader(FileName=fname)
-testTotomed.AllArrays = ['TS0/%s/ComSup0/%s@@][@@GSSNE'%(meshName,fieldName)]
-testTotomed.AllTimeSteps = ['0000']
-
-if '-D' not in sys.argv:
-  # get active view
-  renderView1 = GetActiveViewOrCreate('RenderView')
-  # uncomment following to set a specific view size
-  # renderView1.ViewSize = [739, 503]
-
-  # show data in view
-  testTotomedDisplay = Show(testTotomed, renderView1)
-  # trace defaults for the display properties.
-  testTotomedDisplay.ColorArrayName = [None, '']
-  testTotomedDisplay.GlyphType = 'Arrow'
-  testTotomedDisplay.ScalarOpacityUnitDistance = 1.5874010519681994
-
-  # reset view to fit data
-  renderView1.ResetCamera()
-
-  #changing interaction mode based on data extents
-  renderView1.InteractionMode = '2D'
-  renderView1.CameraPosition = [1.0, 10000.0, 10000.0]
-  renderView1.CameraFocalPoint = [1.0, 0.0, 0.0]
-  renderView1.CameraViewUp = [1.0, 1.0, 0.0]
-
-  # set scalar coloring
-  ColorBy(testTotomedDisplay, ('FIELD', 'vtkBlockColors'))
-
-  # hide color bar/color legend
-  testTotomedDisplay.SetScalarBarVisibility(renderView1, False)
-
-  # get color transfer function/color map for 'vtkBlockColors'
-  vtkBlockColorsLUT = GetColorTransferFunction('vtkBlockColors')
-
-  # get opacity transfer function/opacity map for 'vtkBlockColors'
-  vtkBlockColorsPWF = GetOpacityTransferFunction('vtkBlockColors')
-
-  # create a new 'ELNO Mesh'
-  eLNOMesh1 = ELNOfieldToSurface(Input=testTotomed)
-
-  # Properties modified on eLNOMesh1
-  eLNOMesh1.ShrinkFactor = 0.5 # <- test is here !!!!!!!!
-
-  # show data in view
-  eLNOMesh1Display = Show(eLNOMesh1, renderView1)
-  # trace defaults for the display properties.
-  eLNOMesh1Display.ColorArrayName = [None, '']
-  eLNOMesh1Display.GlyphType = 'Arrow'
-  eLNOMesh1Display.ScalarOpacityUnitDistance = 1.1905507889761495
-
-  # hide data in view
-  Hide(testTotomed, renderView1)
-
-  # set scalar coloring
-  ColorBy(eLNOMesh1Display, ('FIELD', 'vtkBlockColors'))
-
-  # show color bar/color legend
-  eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
-
-  # set scalar coloring
-  ColorBy(eLNOMesh1Display, ('POINTS', 'MyField'))
-
-  # rescale color and/or opacity maps used to include current data range
-  eLNOMesh1Display.RescaleTransferFunctionToDataRange(True)
-
-  # show color bar/color legend
-  eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
-
-  # get color transfer function/color map for 'MyField'
-  myFieldLUT = GetColorTransferFunction('MyField')
-
-  # get opacity transfer function/opacity map for 'MyField'
-  myFieldPWF = GetOpacityTransferFunction('MyField')
-
-  # hide color bar/color legend
-  eLNOMesh1Display.SetScalarBarVisibility(renderView1, False)
-
-  # create a new 'Glyph'
-  glyph1 = Glyph(Input=eLNOMesh1,
-      GlyphType='Arrow')
-  glyph1.ScaleArray = []
-  glyph1.OrientationArray = ['POINTS', 'No orientation array']
-  glyph1.ScaleFactor = 0.15000000000000002
-  glyph1.GlyphTransform = 'Transform2'
-
-  # Properties modified on glyph1
-  glyph1.GlyphType = 'Sphere'
-  glyph1.ScaleFactor = 0.15
-
-  # show data in view
-  glyph1Display = Show(glyph1, renderView1)
-  # trace defaults for the display properties.
-  glyph1Display.ColorArrayName = ['POINTS', 'MyField']
-  glyph1Display.LookupTable = myFieldLUT
-  glyph1Display.GlyphType = 'Arrow'
-
-  # hide color bar/color legend
-  glyph1Display.SetScalarBarVisibility(renderView1, False)
-
-  #### saving camera placements for all active views
-
-  # current camera placement for renderView1
-  renderView1.InteractionMode = '2D'
-  renderView1.CameraPosition = [0.9999999999999908, 9999.999999999995, 9999.999999999993]
-  renderView1.CameraFocalPoint = [1.0, 0.0, 0.0]
-  renderView1.CameraViewUp = [0.6331899945158901, 0.547298104713038, -0.5472981047130381]
-  renderView1.CameraParallelScale = 0.6930835077290218
-  renderView1.ViewSize = [739,503]
-
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, imgName)
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file, threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  imgName="testMEDReader21.png"
+  baseline_file = RetriveBaseLine(imgName)
+  test(baseline_file)
+  pass
index 82c1c50b24736cd489218a6d86b9e3fdcd473d65..a3ffac6ef2b463f6c52f84816beeabf2a2bab61c 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-fname="testMEDReader3.med"
-outImgName="testMEDReader3.png"
-
-""" This test checks that invalid double time (not in [-1e299:1e299])
- leads MEDReader to takes iteration numbers instead of double time to discriminate timesteps each other
- See EDF 1956.
-"""
-#########
-
-m=MEDCouplingUMesh("mesh",2)
-coords=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.)],4,3)
-m.setCoords(coords)
-m.allocateCells()
-m.insertNextCell(NORM_QUAD4,[0,3,2,1])
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m)
-mm.write(fname,2)
-fmts=MEDFileFieldMultiTS()
-#
-f=MEDCouplingFieldDouble(ON_NODES) ; f.setName("ANodeField")
-f.setTime(1.7976931348623157e+308,1,1) ; f.setMesh(m)
-arr=DataArrayDouble([0.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f)
-fmts.pushBackTimeStep(f1ts)
-#
-f.setTime(1.7976931348623157e+308,2,2)
-arr=DataArrayDouble([1.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f)
-fmts.pushBackTimeStep(f1ts)
-#
-f.setTime(1.7976931348623157e+308,3,3)
-arr=DataArrayDouble([2.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f)
-fmts.pushBackTimeStep(f1ts)
-#
-f.setTime(1.7976931348623157e+308,4,6)
-arr=DataArrayDouble([3.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f)
-fmts.pushBackTimeStep(f1ts)
-#
-f.setTime(1.7976931348623157e+308,5,7)
-arr=DataArrayDouble([4.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
-f.setArray(arr)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f)
-fmts.pushBackTimeStep(f1ts)
-#
-fmts.write(fname,0)
-
-################### MED write is done -> Go to MEDReader
-
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-AnimationScene1=GetAnimationScene()
-AnimationScene1.PlayMode='Snap To TimeSteps'
-AnimationScene1.EndTime = 2.0
-AnimationScene1.AnimationTime = 1.0
-AnimationScene1.StartTime = 1.0
-
-testMEDReader3=MEDReader(FileName=fname)
-testMEDReader3.AllArrays=['TS0/mesh/ComSup0/ANodeField@@][@@P1']
-
-assert(list(testMEDReader3.TimestepValues)==[1.,2.,3.,4.,5.]) ## <- the test is here - double time steps are too big use dt.
-
-if '-D' not in sys.argv:
-  RenderView1=GetRenderView()
-  RenderView1.ViewTime=3.0
-  RenderView1.CameraPosition=[0.5,0.5,5.7320508075688776]
-  RenderView1.ViewSize=[300,300]
-
-  DataRepresentation2=Show()
-  DataRepresentation2.EdgeColor=[0.0, 0.0, 0.5000076295109483]
-  DataRepresentation2.SelectionPointFieldDataArrayName='ANodeField'
-  DataRepresentation2.SelectionCellFieldDataArrayName='FamilyIdCell'
-  DataRepresentation2.ScalarOpacityUnitDistance=1.4142135623730951
-  DataRepresentation2.ExtractedBlockIndex=1
-  DataRepresentation2.ScaleFactor=0.1
-
-  a1_ANodeField_PVLookupTable=GetLookupTableForArray("ANodeField",1,RGBPoints=[0.0,0.23,0.299,0.754,4.0,0.706,0.016,0.15],VectorMode='Magnitude',NanColor=[0.25,0.0,0.0],
-                                                       ColorSpace='Diverging',ScalarRangeInitialized=1.0,AllowDuplicateScalars=1)
-  a1_ANodeField_PiecewiseFunction=CreatePiecewiseFunction(Points=[0.0,0.0,0.5,0.0,1.0,1.0,0.5,0.0])
-  a1_ANodeField_PVLookupTable.ScalarOpacityFunction=a1_ANodeField_PiecewiseFunction
-
-  DataRepresentation2.ScalarOpacityFunction=a1_ANodeField_PiecewiseFunction
-  DataRepresentation2.ColorArrayName='ANodeField'
-  DataRepresentation2.LookupTable=a1_ANodeField_PVLookupTable
-
-  # Triangulate so rendring always the same with different gpu or graphic backend.
-  extSurf = ExtractSurface(Input=testMEDReader3)
-  triangulate = Triangulate(Input=extSurf)
-  Hide(testMEDReader3, RenderView1)
-  Show(triangulate, RenderView1)
-  triangulate1Display = GetDisplayProperties(triangulate, view=RenderView1)
-  ColorBy(triangulate1Display, ('POINTS', 'ANodeField'))
-
-  Render()
-  ###
+outImgName="testMEDReader3.png"
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader3.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+def GenerateCase():
+  """ This test checks that invalid double time (not in [-1e299:1e299])
+   leads MEDReader to takes iteration numbers instead of double time to discriminate timesteps each other
+   See EDF 1956.
+  """
+  fname="testMEDReader3.med"
+  #########
+  m=MEDCouplingUMesh("mesh",2)
+  coords=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(1.,1.,0.),(0.,1.,0.)],4,3)
+  m.setCoords(coords)
+  m.allocateCells()
+  m.insertNextCell(NORM_QUAD4,[0,3,2,1])
+  mm=MEDFileUMesh()
+  mm.setMeshAtLevel(0,m)
+  mm.write(fname,2)
+  fmts=MEDFileFieldMultiTS()
+  #
+  f=MEDCouplingFieldDouble(ON_NODES) ; f.setName("ANodeField")
+  f.setTime(1.7976931348623157e+308,1,1) ; f.setMesh(m)
+  arr=DataArrayDouble([0.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f)
+  fmts.pushBackTimeStep(f1ts)
+  #
+  f.setTime(1.7976931348623157e+308,2,2)
+  arr=DataArrayDouble([1.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f)
+  fmts.pushBackTimeStep(f1ts)
+  #
+  f.setTime(1.7976931348623157e+308,3,3)
+  arr=DataArrayDouble([2.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f)
+  fmts.pushBackTimeStep(f1ts)
+  #
+  f.setTime(1.7976931348623157e+308,4,6)
+  arr=DataArrayDouble([3.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f)
+  fmts.pushBackTimeStep(f1ts)
+  #
+  f.setTime(1.7976931348623157e+308,5,7)
+  arr=DataArrayDouble([4.,4.,4.,4.]) ; arr.setInfoOnComponent(0,"aaa")
+  f.setArray(arr)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f)
+  fmts.pushBackTimeStep(f1ts)
+  #
+  fmts.write(fname,0)
+  return fname
+
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  ################### MED write is done -> Go to MEDReader
+  AnimationScene1=GetAnimationScene()
+  AnimationScene1.PlayMode='Snap To TimeSteps'
+  AnimationScene1.EndTime = 2.0
+  AnimationScene1.AnimationTime = 1.0
+  AnimationScene1.StartTime = 1.0
+
+  testMEDReader3=MEDReader(FileName=fname)
+  testMEDReader3.AllArrays=['TS0/mesh/ComSup0/ANodeField@@][@@P1']
+
+  assert(list(testMEDReader3.TimestepValues)==[1.,2.,3.,4.,5.]) ## <- the test is here - double time steps are too big use dt.
+
+  if '-D' not in sys.argv:
+    RenderView1=GetRenderView()
+    RenderView1.ViewTime=3.0
+    RenderView1.CameraPosition=[0.5,0.5,5.7320508075688776]
+    RenderView1.ViewSize=[300,300]
+
+    DataRepresentation2=Show()
+    DataRepresentation2.EdgeColor=[0.0, 0.0, 0.5000076295109483]
+    DataRepresentation2.SelectionPointFieldDataArrayName='ANodeField'
+    DataRepresentation2.SelectionCellFieldDataArrayName='FamilyIdCell'
+    DataRepresentation2.ScalarOpacityUnitDistance=1.4142135623730951
+    DataRepresentation2.ExtractedBlockIndex=1
+    DataRepresentation2.ScaleFactor=0.1
+
+    a1_ANodeField_PVLookupTable=GetLookupTableForArray("ANodeField",1,RGBPoints=[0.0,0.23,0.299,0.754,4.0,0.706,0.016,0.15],VectorMode='Magnitude',NanColor=[0.25,0.0,0.0],
+                                                         ColorSpace='Diverging',ScalarRangeInitialized=1.0,AllowDuplicateScalars=1)
+    a1_ANodeField_PiecewiseFunction=CreatePiecewiseFunction(Points=[0.0,0.0,0.5,0.0,1.0,1.0,0.5,0.0])
+    a1_ANodeField_PVLookupTable.ScalarOpacityFunction=a1_ANodeField_PiecewiseFunction
+
+    DataRepresentation2.ScalarOpacityFunction=a1_ANodeField_PiecewiseFunction
+    DataRepresentation2.ColorArrayName='ANodeField'
+    DataRepresentation2.LookupTable=a1_ANodeField_PVLookupTable
+
+    # Triangulate so rendring always the same with different gpu or graphic backend.
+    extSurf = ExtractSurface(Input=testMEDReader3)
+    triangulate = Triangulate(Input=extSurf)
+    Hide(testMEDReader3, RenderView1)
+    Show(triangulate, RenderView1)
+    triangulate1Display = GetDisplayProperties(triangulate, view=RenderView1)
+    ColorBy(triangulate1Display, ('POINTS', 'ANodeField'))
+
+    Render()
+    ###
+
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
+    
+if __name__ == "__main__":
+  outImgName="testMEDReader3.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index d33a923bedb10497495dc60a0ff3c174c26ca109..4253bb39a345650505a6dc2f96e5a7e1bf2257d5 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-""" This test checks that umeshes with no names work properly.
-"""
+def GenerateCase():
+  """ This test checks that umeshes with no names work properly.
+  """
 
-fname="testMEDReader4.med"
-outImgName="testMEDReader4.png"
-#########
-coords=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(2.,0.,0.),(3.,0.,0.),(0.,1.,0.),(1.,1.,0.),(2.,1.,0.),(3.,1.,0.),(0.,2.,0.),(1.,2.,0.),(2.,2.,0.),(3.,2.,0.),(0.,3.,0.),(1.,3.,0.),(2.,3.,0.),(3.,3.,0.)])
-m0=MEDCouplingUMesh("mesh",2)
-m0.allocateCells()
-m0.setCoords(coords)
-##
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m0)
-mm.setFamilyFieldArr(1,DataArrayInt([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))
-#
-f1ts0=MEDFileField1TS()
-f1ts1=MEDFileField1TS()
-#
-f0=MEDCouplingFieldDouble(ON_NODES) ; f0.setMesh(m0) ; f0.setName("f0NoPfl")
-arr0=DataArrayDouble([0.,1.,2.,3.,1.,1.5,2.2,3.1,2.,2.2,3.,3.1,3.,3.1,3.5,4.])
-f0.setArray(arr0)
-f0.checkConsistencyLight()
-f1ts0.setFieldNoProfileSBT(f0)
-#
-pfl1=DataArrayInt([0,1,2,3,4,5,6,8,9,12]) ; pfl1.setName("pfl1")
-f1=MEDCouplingFieldDouble(ON_NODES) ; f1.setName("f1Pfl")
-arr1=DataArrayDouble([3.,2.,1.,0.,2.,1.5,0.,1.,0.,0.2])
-f1.setArray(arr1)
-f1ts1.setFieldProfile(f1,mm,0,pfl1)
-#
-fs=MEDFileFields()
-fmts0=MEDFileFieldMultiTS()
-fmts0.pushBackTimeStep(f1ts0)
-fmts1=MEDFileFieldMultiTS()
-fmts1.pushBackTimeStep(f1ts1)
-fs.pushField(fmts0) ; fs.pushField(fmts1)
-mm.write(fname,2)
-fs.write(fname,0)
+  fname="testMEDReader4.med"
+  #########
+  coords=DataArrayDouble([(0.,0.,0.),(1.,0.,0.),(2.,0.,0.),(3.,0.,0.),(0.,1.,0.),(1.,1.,0.),(2.,1.,0.),(3.,1.,0.),(0.,2.,0.),(1.,2.,0.),(2.,2.,0.),(3.,2.,0.),(0.,3.,0.),(1.,3.,0.),(2.,3.,0.),(3.,3.,0.)])
+  m0=MEDCouplingUMesh("mesh",2)
+  m0.allocateCells()
+  m0.setCoords(coords)
+  ##
+  mm=MEDFileUMesh()
+  mm.setMeshAtLevel(0,m0)
+  mm.setFamilyFieldArr(1,DataArrayInt([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))
+  #
+  f1ts0=MEDFileField1TS()
+  f1ts1=MEDFileField1TS()
+  #
+  f0=MEDCouplingFieldDouble(ON_NODES) ; f0.setMesh(m0) ; f0.setName("f0NoPfl")
+  arr0=DataArrayDouble([0.,1.,2.,3.,1.,1.5,2.2,3.1,2.,2.2,3.,3.1,3.,3.1,3.5,4.])
+  f0.setArray(arr0)
+  f0.checkConsistencyLight()
+  f1ts0.setFieldNoProfileSBT(f0)
+  #
+  pfl1=DataArrayInt([0,1,2,3,4,5,6,8,9,12]) ; pfl1.setName("pfl1")
+  f1=MEDCouplingFieldDouble(ON_NODES) ; f1.setName("f1Pfl")
+  arr1=DataArrayDouble([3.,2.,1.,0.,2.,1.5,0.,1.,0.,0.2])
+  f1.setArray(arr1)
+  f1ts1.setFieldProfile(f1,mm,0,pfl1)
+  #
+  fs=MEDFileFields()
+  fmts0=MEDFileFieldMultiTS()
+  fmts0.pushBackTimeStep(f1ts0)
+  fmts1=MEDFileFieldMultiTS()
+  fmts1.pushBackTimeStep(f1ts1)
+  fs.pushField(fmts0) ; fs.pushField(fmts1)
+  mm.write(fname,2)
+  fs.write(fname,0)
+  return fname
+
+@WriteInTmpDir
+def test(baseline_file):
 ################### MED write is done -> Go to MEDReader
+  fname = GenerateCase()
 
-from paraview.simple import *
+  testMEDReader4_med=MEDReader(FileName=fname)
 
-testMEDReader4_med=MEDReader(FileName=fname)
+  testMEDReader4_med.AllArrays=['TS0/mesh/ComSup0/f0NoPfl@@][@@P1','TS0/mesh/ComSup0/mesh@@][@@P1']
+  #testMEDReader4_med.AllTimeSteps=['0000']
 
-testMEDReader4_med.AllArrays=['TS0/mesh/ComSup0/f0NoPfl@@][@@P1','TS0/mesh/ComSup0/mesh@@][@@P1']
-#testMEDReader4_med.AllTimeSteps=['0000']
+  Glyph1=Glyph(Input=testMEDReader4_med,GlyphType='Sphere')
+  Glyph1.ScaleArray=['POINTS','No scale array']#f0NoPflN
+  Glyph1.ScaleFactor=0.3
+  Glyph1.OrientationArray = ['POINTS', 'No orientation array']
+  Glyph1.GlyphTransform="Transform2"
+  Glyph1.GlyphMode = 'All Points'
 
-Glyph1=Glyph(Input=testMEDReader4_med,GlyphType='Sphere')
-Glyph1.ScaleArray=['POINTS','No scale array']#f0NoPflN
-Glyph1.ScaleFactor=0.3
-Glyph1.OrientationArray = ['POINTS', 'No orientation array']
-Glyph1.GlyphTransform="Transform2"
-Glyph1.GlyphMode = 'All Points'
+  DataRepresentation1 = Show()
+  DataRepresentation1.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+  DataRepresentation1.SelectionPointFieldDataArrayName = 'f0NoPfl'
+  DataRepresentation1.ScaleFactor = 0.3
+  DataRepresentation1.ColorArrayName = 'f0NoPfl'
+  lookupTable = GetLookupTableForArray( "f0NoPfl", 1, RGBPoints=[0.0, 0.23, 0.299, 0.754, 4.0, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+  function=CreatePiecewiseFunction(Points=[0.0,0.0,0.5,0.0,1.0,1.0,0.5,0.0] )
+  lookupTable.ScalarOpacityFunction = function
+  DataRepresentation1.LookupTable = lookupTable
 
-DataRepresentation1 = Show()
-DataRepresentation1.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-DataRepresentation1.SelectionPointFieldDataArrayName = 'f0NoPfl'
-DataRepresentation1.ScaleFactor = 0.3
-DataRepresentation1.ColorArrayName = 'f0NoPfl'
-lookupTable = GetLookupTableForArray( "f0NoPfl", 1, RGBPoints=[0.0, 0.23, 0.299, 0.754, 4.0, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-function=CreatePiecewiseFunction(Points=[0.0,0.0,0.5,0.0,1.0,1.0,0.5,0.0] )
-lookupTable.ScalarOpacityFunction = function
-DataRepresentation1.LookupTable = lookupTable
+  if '-D' not in sys.argv:
+    RenderView1 = GetRenderView()
+    RenderView1.CameraViewUp = [0.06254683966704512, 0.9980420295997885, 0.0]
+    RenderView1.CameraPosition = [0.8087292125440382, 1.3325993334207897, 12.692130429902462]
+    RenderView1.CameraFocalPoint = [0.8087292125440382, 1.3325993334207897, 0.0]
+    RenderView1.CameraParallelScale = 3.712804729456109
 
-if '-D' not in sys.argv:
-  RenderView1 = GetRenderView()
-  RenderView1.CameraViewUp = [0.06254683966704512, 0.9980420295997885, 0.0]
-  RenderView1.CameraPosition = [0.8087292125440382, 1.3325993334207897, 12.692130429902462]
-  RenderView1.CameraFocalPoint = [0.8087292125440382, 1.3325993334207897, 0.0]
-  RenderView1.CameraParallelScale = 3.712804729456109
+    RenderView1.ViewSize =[300,300]
+    Render()
 
-  RenderView1.ViewSize =[300,300]
-  Render()
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader4.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader4.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 59c54a5da4a4f00d611c47ce93ecc74725e7f2c4..f278a8e2ea9a2d43bcb4bc1609871c4ce7e9b974 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
-
-""" This test is CEA specific one. It generates a .sauv file
-that is then read by MEDReader
-"""
-
-fname="testMEDReader5.sauv"
-outImgName="testMEDReader5.png"
-#########
-arr=DataArrayDouble(5) ; arr.iota()
-c=MEDCouplingCMesh("mesh")
-c.setCoords(arr,arr,arr)
-m=c.buildUnstructured()
-mbis=m.deepCopy() ; mbis.translate([5,0,0]) ; mbis.tetrahedrize(PLANAR_FACE_5)
-m=MEDCouplingUMesh.MergeUMeshes([mbis,m]) ; m.setName(c.getName())
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m)
-grp0=DataArrayInt.Range(0,m.getNumberOfCells(),2) ; grp0.setName("grp0")
-grp1=DataArrayInt.Range(1,m.getNumberOfCells(),2) ; grp1.setName("grp1")
-grp2=DataArrayInt.Range(0,m.getNumberOfNodes(),7) ; grp2.setName("grp2")
-mm.setGroupsAtLevel(0,[grp0,grp1])
-mm.setGroupsAtLevel(1,[grp2])
-ms=MEDFileMeshes()
-ms.pushMesh(mm)
-f=MEDCouplingFieldDouble(ON_CELLS) ; f.setName("fCell") ; f.setMesh(m[:10])
-arr=DataArrayDouble(f.getNumberOfTuplesExpected()) ; arr.iota() ; f.setArray(arr)
-f2=MEDCouplingFieldDouble(ON_NODES) ; f2.setName("fNode") ; f2.setMesh(m)
-arr=DataArrayDouble(f2.getNumberOfTuplesExpected()) ; arr.iota() ; f2.setArray(arr)
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-fs=MEDFileFields()
-f1ts=MEDFileField1TS()
-#f1ts.setFieldNoProfileSBT(f)
-pfl=DataArrayInt(10); pfl.iota() ; pfl.setName("pfl") ; f1ts.setFieldProfile(f,mm,0,pfl)
-fmts=MEDFileFieldMultiTS()
-fmts.pushBackTimeStep(f1ts)
-fs.pushField(fmts)
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(f2)
-fmts=MEDFileFieldMultiTS()
-fmts.pushBackTimeStep(f1ts)
-fs.pushField(fmts)
+def GenerateCase():
+  """ This test is CEA specific one. It generates a .sauv file
+  that is then read by MEDReader
+  """
+  fname="testMEDReader5.sauv"
+  #########
+  arr=DataArrayDouble(5) ; arr.iota()
+  c=MEDCouplingCMesh("mesh")
+  c.setCoords(arr,arr,arr)
+  m=c.buildUnstructured()
+  mbis=m.deepCopy() ; mbis.translate([5,0,0]) ; mbis.tetrahedrize(PLANAR_FACE_5)
+  m=MEDCouplingUMesh.MergeUMeshes([mbis,m]) ; m.setName(c.getName())
+  mm=MEDFileUMesh()
+  mm.setMeshAtLevel(0,m)
+  grp0=DataArrayInt.Range(0,m.getNumberOfCells(),2) ; grp0.setName("grp0")
+  grp1=DataArrayInt.Range(1,m.getNumberOfCells(),2) ; grp1.setName("grp1")
+  grp2=DataArrayInt.Range(0,m.getNumberOfNodes(),7) ; grp2.setName("grp2")
+  mm.setGroupsAtLevel(0,[grp0,grp1])
+  mm.setGroupsAtLevel(1,[grp2])
+  ms=MEDFileMeshes()
+  ms.pushMesh(mm)
+  f=MEDCouplingFieldDouble(ON_CELLS) ; f.setName("fCell") ; f.setMesh(m[:10])
+  arr=DataArrayDouble(f.getNumberOfTuplesExpected()) ; arr.iota() ; f.setArray(arr)
+  f2=MEDCouplingFieldDouble(ON_NODES) ; f2.setName("fNode") ; f2.setMesh(m)
+  arr=DataArrayDouble(f2.getNumberOfTuplesExpected()) ; arr.iota() ; f2.setArray(arr)
 
-mfd=MEDFileData()
-mfd.setMeshes(ms)
-mfd.setFields(fs)
-#mfd.write(fname,2) not activated because useless
-#
-sw=SauvWriter();
-sw.setMEDFileDS(mfd);
-sw.write(fname);
-del mm,m,c,f,arr
-del f1ts
-################### MED write is done -> Go to MEDReader
-from paraview.simple import *
+  fs=MEDFileFields()
+  f1ts=MEDFileField1TS()
+  #f1ts.setFieldNoProfileSBT(f)
+  pfl=DataArrayInt(10); pfl.iota() ; pfl.setName("pfl") ; f1ts.setFieldProfile(f,mm,0,pfl)
+  fmts=MEDFileFieldMultiTS()
+  fmts.pushBackTimeStep(f1ts)
+  fs.pushField(fmts)
+  f1ts=MEDFileField1TS()
+  f1ts.setFieldNoProfileSBT(f2)
+  fmts=MEDFileFieldMultiTS()
+  fmts.pushBackTimeStep(f1ts)
+  fs.pushField(fmts)
 
-myMedReader=MEDReader(FileName=fname)
-myMedReader.AllArrays = ['TS0/mesh/ComSup1/fNode@@][@@P1']
-myMedReader.AllTimeSteps = ['0000']
+  mfd=MEDFileData()
+  mfd.setMeshes(ms)
+  mfd.setFields(fs)
+  #mfd.write(fname,2) not activated because useless
+  #
+  sw=SauvWriter();
+  sw.setMEDFileDS(mfd);
+  sw.write(fname);
+  del mm,m,c,f,arr
+  del f1ts
+  return fname
 
-Clip1=Clip(ClipType="Plane",Input=myMedReader)
-Clip1.Scalars = ['POINTS', 'FamilyIdNode']
-Clip1.ClipType.Origin = [2.0, 2.0, 2.0]
-Clip1.ClipType = "Plane"
-Clip1.ClipType.Normal = [0.04207410474474753, 0.9319448861971525, 0.3601506612529047]
-Clip1.Invert = 1
 
-DataRepresentation2 = Show()
-DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-DataRepresentation2.ScalarOpacityUnitDistance = 1.5768745057161244
-DataRepresentation2.ExtractedBlockIndex = 1
-DataRepresentation2.ScaleFactor = 0.4
+@WriteInTmpDir
+def test(baseline_file):
+  fname = GenerateCase()
+  ################### MED write is done -> Go to MEDReader
+  myMedReader=MEDReader(FileName=fname)
+  myMedReader.AllArrays = ['TS0/mesh/ComSup1/fNode@@][@@P1']
+  myMedReader.AllTimeSteps = ['0000']
 
-if '-D' not in sys.argv:
-  RenderView1=GetRenderView()
-  RenderView1.CenterOfRotation=[2.,2.,2.]
-  RenderView1.CameraViewUp=[0.24562884954787187,0.6907950752417243,-0.680050463047831]
-  RenderView1.CameraPosition=[-2.5085697461776486,11.6185941755061,10.14210560568201]
-  RenderView1.CameraFocalPoint=[2.,2.,2.]
-  RenderView1.CameraParallelScale=5.071791174723188
+  Clip1=Clip(ClipType="Plane",Input=myMedReader)
+  Clip1.Scalars = ['POINTS', 'FamilyIdNode']
+  Clip1.ClipType.Origin = [2.0, 2.0, 2.0]
+  Clip1.ClipType = "Plane"
+  Clip1.ClipType.Normal = [0.04207410474474753, 0.9319448861971525, 0.3601506612529047]
+  Clip1.Invert = 1
 
-  LookupTable=GetLookupTableForArray("fNode",1,RGBPoints=[0.0,0.23,0.299,0.754,55.0,0.706,0.016,0.15],VectorMode='Magnitude',NanColor=[0.25,0.0,0.0],ColorSpace='Diverging',ScalarRangeInitialized=1.0,AllowDuplicateScalars=1)
   DataRepresentation2 = Show()
   DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
   DataRepresentation2.ScalarOpacityUnitDistance = 1.5768745057161244
   DataRepresentation2.ExtractedBlockIndex = 1
   DataRepresentation2.ScaleFactor = 0.4
-  DataRepresentation2.ColorArrayName=('POINTS','fNode')
-  DataRepresentation2.LookupTable=LookupTable
 
-  RenderView1.ViewSize=[300,300]
-  Render()
+  if '-D' not in sys.argv:
+    RenderView1=GetRenderView()
+    RenderView1.CenterOfRotation=[2.,2.,2.]
+    RenderView1.CameraViewUp=[0.24562884954787187,0.6907950752417243,-0.680050463047831]
+    RenderView1.CameraPosition=[-2.5085697461776486,11.6185941755061,10.14210560568201]
+    RenderView1.CameraFocalPoint=[2.,2.,2.]
+    RenderView1.CameraParallelScale=5.071791174723188
+
+    LookupTable=GetLookupTableForArray("fNode",1,RGBPoints=[0.0,0.23,0.299,0.754,55.0,0.706,0.016,0.15],VectorMode='Magnitude',NanColor=[0.25,0.0,0.0],ColorSpace='Diverging',ScalarRangeInitialized=1.0,AllowDuplicateScalars=1)
+    DataRepresentation2 = Show()
+    DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+    DataRepresentation2.ScalarOpacityUnitDistance = 1.5768745057161244
+    DataRepresentation2.ExtractedBlockIndex = 1
+    DataRepresentation2.ScaleFactor = 0.4
+    DataRepresentation2.ColorArrayName=('POINTS','fNode')
+    DataRepresentation2.LookupTable=LookupTable
+
+    RenderView1.ViewSize=[300,300]
+    Render()
+
+    # compare with baseline image
+    import vtk.test.Testing
+    from vtk.util.misc import vtkGetTempDir
+    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                threshold=1)
+    vtk.test.Testing.interact()
 
-  # compare with baseline image
-  try:
-    baselineIndex = sys.argv.index('-B')+1
-    baselinePath = sys.argv[baselineIndex]
-  except:
-    print("Could not get baseline directory. Test failed.")
-    exit(1)
-  baseline_file = os.path.join(baselinePath, "testMEDReader5.png")
-  import vtk.test.Testing
-  from vtk.util.misc import vtkGetTempDir
-  vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-  vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                              threshold=1)
-  vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader5.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 35325601f5acb16d15de6cf467fa3006bdf1aa06..159121f4d25a3410d012aa7bd7947a979f65ff9e 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-""" This test generate a GaussPoint field on a mesh with groups.
-The aim of this test is to check that the ExtractGroup works well for ELGAfieldToPointGaussian
-"""
+def GenerateCase():
+    """ This test generate a GaussPoint field on a mesh with groups.
+    The aim of this test is to check that the ExtractGroup works well for ELGAfieldToPointGaussian
+    """
+    fname="testMEDReader6.med"
+    #########
+    arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
+    m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
+    for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
+        m0.insertNextCell(NORM_TRI3,elt)
+        pass
+    for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
+        m0.insertNextCell(NORM_QUAD4,elt)
+        pass
+    mm=MEDFileUMesh()
+    mm.setMeshAtLevel(0,m0)
+    grp0=DataArrayInt([0,1,4,5,7,10]) ; grp0.setName("grp0")
+    mm.setGroupsAtLevel(0,[grp0])
+    #
+    fGauss=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fGauss.setName("fGauss")
+    fGauss.setMesh(m0)
+    fGauss.setGaussLocalizationOnType(NORM_TRI3,[0.,0.,1.,0.,0.,1.],[0.1,0.1,0.05,0.9],[0.4,0.6])
+    fGauss.setGaussLocalizationOnType(NORM_QUAD4,[-1.,-1.,1.,-1.,1.,1.,-1.,1.],[-0.9,-0.9,0.,0.,0.9,0.9],[0.2,0.3,0.5])
+    fGauss.setArray(DataArrayDouble([0.9,1.3,0.22,1.3,1.62,2.21,1.62,2.72,2.95,2.54,2.25,2.16,1.58,1.05,3.13,2.91,2.82,1.41,1.58,1.95,3.59,3.53,3.59,2.82,2.91,3.13,2.25,2.54,2.95]))
+    fGauss.getArray().setInfoOnComponent(0,"C0")
+    fGauss.checkConsistencyLight()
+    #
+    f1ts=MEDFileField1TS()
+    f1ts.setFieldNoProfileSBT(fGauss)
+    #
+    mm.write(fname,2)
+    f1ts.write(fname,0)
+    return fname
 
-fname="testMEDReader6.med"
-outImgName="testMEDReader6.png"
-#########
-arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
-m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
-for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
-    m0.insertNextCell(NORM_TRI3,elt)
-    pass
-for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
-    m0.insertNextCell(NORM_QUAD4,elt)
-    pass
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m0)
-grp0=DataArrayInt([0,1,4,5,7,10]) ; grp0.setName("grp0")
-mm.setGroupsAtLevel(0,[grp0])
-#
-fGauss=MEDCouplingFieldDouble(ON_GAUSS_PT) ; fGauss.setName("fGauss")
-fGauss.setMesh(m0)
-fGauss.setGaussLocalizationOnType(NORM_TRI3,[0.,0.,1.,0.,0.,1.],[0.1,0.1,0.05,0.9],[0.4,0.6])
-fGauss.setGaussLocalizationOnType(NORM_QUAD4,[-1.,-1.,1.,-1.,1.,1.,-1.,1.],[-0.9,-0.9,0.,0.,0.9,0.9],[0.2,0.3,0.5])
-fGauss.setArray(DataArrayDouble([0.9,1.3,0.22,1.3,1.62,2.21,1.62,2.72,2.95,2.54,2.25,2.16,1.58,1.05,3.13,2.91,2.82,1.41,1.58,1.95,3.59,3.53,3.59,2.82,2.91,3.13,2.25,2.54,2.95]))
-fGauss.getArray().setInfoOnComponent(0,"C0")
-fGauss.checkConsistencyLight()
-#
-f1ts=MEDFileField1TS()
-f1ts.setFieldNoProfileSBT(fGauss)
-#
-mm.write(fname,2)
-f1ts.write(fname,0)
-################### MED write is done -> Go to MEDReader
-from paraview.simple import *
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    ################### MED write is done -> Go to MEDReader
+
+    myMedReader=MEDReader(FileName=fname)
+    myMedReader.AllArrays = ['TS0/mesh/ComSup0/fGauss@@][@@GAUSS']
+    myMedReader.AllTimeSteps = ['0000']
 
-myMedReader=MEDReader(FileName=fname)
-myMedReader.AllArrays = ['TS0/mesh/ComSup0/fGauss@@][@@GAUSS']
-myMedReader.AllTimeSteps = ['0000']
+    ExtractGroup1 = ExtractGroup(Input=myMedReader)
+    ExtractGroup1.UpdatePipelineInformation()
+    ExtractGroup1.AllGroups = ['GRP_grp0']
 
-ExtractGroup1 = ExtractGroup(Input=myMedReader)
-ExtractGroup1.UpdatePipelineInformation()
-ExtractGroup1.AllGroups = ['GRP_grp0']
+    ELGAfieldToPointGaussian1 = ELGAfieldToPointGaussian(Input=ExtractGroup1)
+    ELGAfieldToPointGaussian1.SelectSourceArray = ['CELLS','ELGA@0']
 
-ELGAfieldToPointGaussian1 = ELGAfieldToPointGaussian(Input=ExtractGroup1)
-ELGAfieldToPointGaussian1.SelectSourceArray = ['CELLS','ELGA@0']
+    Glyph1 = Glyph( Input=ELGAfieldToPointGaussian1, GlyphType="Sphere", GlyphTransform="Transform2" )
+    Glyph1.GlyphType = "Sphere"
+    Glyph1.OrientationArray = ['POINTS', 'No orientation array']
+    Glyph1.ScaleFactor = 0.29
 
-Glyph1 = Glyph( Input=ELGAfieldToPointGaussian1, GlyphType="Sphere", GlyphTransform="Transform2" )
-Glyph1.GlyphType = "Sphere"
-Glyph1.OrientationArray = ['POINTS', 'No orientation array']
-Glyph1.ScaleFactor = 0.29
+    if '-D' not in sys.argv:
+        RenderView1 = GetRenderView()
+        RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
+        RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
+        RenderView1.InteractionMode = '3D'
+        RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
+        RenderView1.CameraParallelScale = 2.1213203435596424
+        RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
 
-if '-D' not in sys.argv:
-    RenderView1 = GetRenderView()
-    RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
-    RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
-    RenderView1.InteractionMode = '3D'
-    RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
-    RenderView1.CameraParallelScale = 2.1213203435596424
-    RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
+        DataRepresentation4 = Show()
+        DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+        DataRepresentation4.SelectionPointFieldDataArrayName = 'fGauss'
+        DataRepresentation4.ScaleFactor = 0.3182729169726372
 
-    DataRepresentation4 = Show()
-    DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-    DataRepresentation4.SelectionPointFieldDataArrayName = 'fGauss'
-    DataRepresentation4.ScaleFactor = 0.3182729169726372
+        a1_fGauss_PVLookupTable = GetLookupTableForArray( "fGauss", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+        a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
+        DataRepresentation4.ColorArrayName = 'fGauss'
+        DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
+        a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
 
-    a1_fGauss_PVLookupTable = GetLookupTableForArray( "fGauss", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-    a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
-    DataRepresentation4.ColorArrayName = 'fGauss'
-    DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
-    a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
+        RenderView1.ViewSize=[300,300]
+        Render()
 
-    RenderView1.ViewSize=[300,300]
-    Render()
+        # compare with baseline image
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                    threshold=1)
+        vtk.test.Testing.interact()
 
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, "testMEDReader6.png")
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                                threshold=1)
-    vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader6.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index caa3a0e5f70a6fabb49b99450c1249ab58c9d8ba..d7f40b1370858b9651503f7d3a00c8e015099045 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
 
-""" This test generate a simple multi time field with a very aggressive time steps triplets. Neither dt, nor iteration nor order is considered.
-In this case only the rank is considered.
-"""
-
-fname="testMEDReader7.med"
-outImgName="testMEDReader7.png"
-#########
-arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
-m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
-for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
-    m0.insertNextCell(NORM_TRI3,elt)
-    pass
-for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
-    m0.insertNextCell(NORM_QUAD4,elt)
-    pass
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m0)
-grp0=DataArrayInt([0,1,4,5,7,10]) ; grp0.setName("grp0")
-mm.setGroupsAtLevel(0,[grp0])
-fmts=MEDFileFieldMultiTS()
-#
-fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setName("fNode")
-fNode.setMesh(m0)
-fNode.setArray(DataArrayDouble([3,2,1,0,3.16,2.23,1.41,1,3.6,2.82,2.23,2,4.24,3.6,3.16,3]))
-fNode.getArray().setInfoOnComponent(0,"C0")
-fNode.setTime(0.5,1,1)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,1,2)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,2,1)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,2,2)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-mm.write(fname,2)
-fmts.write(fname,0)
-################### MED write is done -> Go to MEDReader
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
+def GenerateCase():
+    """ This test generate a simple multi time field with a very aggressive time steps triplets. Neither dt, nor iteration nor order is considered.
+    In this case only the rank is considered.
+    """
+    fname="testMEDReader7.med"
+    #########
+    arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
+    m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
+    for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
+        m0.insertNextCell(NORM_TRI3,elt)
+        pass
+    for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
+        m0.insertNextCell(NORM_QUAD4,elt)
+        pass
+    mm=MEDFileUMesh()
+    mm.setMeshAtLevel(0,m0)
+    grp0=DataArrayInt([0,1,4,5,7,10]) ; grp0.setName("grp0")
+    mm.setGroupsAtLevel(0,[grp0])
+    fmts=MEDFileFieldMultiTS()
+    #
+    fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setName("fNode")
+    fNode.setMesh(m0)
+    fNode.setArray(DataArrayDouble([3,2,1,0,3.16,2.23,1.41,1,3.6,2.82,2.23,2,4.24,3.6,3.16,3]))
+    fNode.getArray().setInfoOnComponent(0,"C0")
+    fNode.setTime(0.5,1,1)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,1,2)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,2,1)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,2,2)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    mm.write(fname,2)
+    fmts.write(fname,0)
+    return fname
+
+
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    ################### MED write is done -> Go to MEDReader
+    myMedReader=MEDReader(FileName=fname)
+    myMedReader.AllArrays = ['TS0/mesh/ComSup0/fNode@@][@@P1']
+    assert(list(myMedReader.TimestepValues)==[0.,1.,2.,3.])
 
-myMedReader=MEDReader(FileName=fname)
-myMedReader.AllArrays = ['TS0/mesh/ComSup0/fNode@@][@@P1']
-assert(list(myMedReader.TimestepValues)==[0.,1.,2.,3.])
+    if '-D' not in sys.argv:
+        RenderView1 = GetRenderView()
+        RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
+        RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
+        RenderView1.InteractionMode = '3D'
+        RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
+        RenderView1.CameraParallelScale = 2.1213203435596424
+        RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
 
-if '-D' not in sys.argv:
-    RenderView1 = GetRenderView()
-    RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
-    RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
-    RenderView1.InteractionMode = '3D'
-    RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
-    RenderView1.CameraParallelScale = 2.1213203435596424
-    RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
+        DataRepresentation4 = Show()
+        DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+        DataRepresentation4.SelectionPointFieldDataArrayName = 'fNode'
+        DataRepresentation4.ScaleFactor = 0.3182729169726372
 
-    DataRepresentation4 = Show()
-    DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-    DataRepresentation4.SelectionPointFieldDataArrayName = 'fNode'
-    DataRepresentation4.ScaleFactor = 0.3182729169726372
+        a1_fGauss_PVLookupTable = GetLookupTableForArray( "fNode", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+        a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
+        DataRepresentation4.ColorArrayName = 'fNode'
+        DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
+        a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
 
-    a1_fGauss_PVLookupTable = GetLookupTableForArray( "fNode", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-    a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
-    DataRepresentation4.ColorArrayName = 'fNode'
-    DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
-    a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
+        RenderView1.ViewTime = 1.0 #### Important # red is in right bottom
+        RenderView1.CacheKey = 1.0
+        RenderView1.UseCache = 1
+        RenderView1.ViewSize=[300,300]
+        Render()
 
-    RenderView1.ViewTime = 1.0 #### Important # red is in right bottom
-    RenderView1.CacheKey = 1.0
-    RenderView1.UseCache = 1
-    RenderView1.ViewSize=[300,300]
-    Render()
+        # compare with baseline image
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                    threshold=6)
+        vtk.test.Testing.interact()
 
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, "testMEDReader7.png")
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                                threshold=6)
-    vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader7.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 38fae9333b6ed3f75266ae7571458c44ce4c9390..85814275d53ce21996e2f58445934a1e8d8e2a9c 100644 (file)
 import os
 import sys
 
-from MEDLoader import *
+from medcoupling import *
+from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
 
-""" This test is a non regression test. ExtractCellType then ExtractGroup.
-"""
+def GenerateCase():
+    """ This test is a non regression test. ExtractCellType then ExtractGroup.
+    """
+    fname="testMEDReader8.med"
+    #########
+    arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
+    m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
+    for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
+        m0.insertNextCell(NORM_TRI3,elt)
+        pass
+    for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
+        m0.insertNextCell(NORM_QUAD4,elt)
+        pass
+    mm=MEDFileUMesh()
+    mm.setMeshAtLevel(0,m0)
+    grp0=DataArrayInt([0,1,2,5]) ; grp0.setName("grp0")
+    mm.setGroupsAtLevel(0,[grp0])
+    fmts=MEDFileFieldMultiTS()
+    #
+    fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setName("fNode")
+    fNode.setMesh(m0)
+    fNode.setArray(DataArrayDouble([3,2,1,0,3.16,2.23,1.41,1,3.6,2.82,2.23,2,4.24,3.6,3.16,3]))
+    fNode.getArray().setInfoOnComponent(0,"C0")
+    fNode.setTime(0.5,1,1)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,1,2)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,2,1)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    fNode.getArray().reverse()
+    fNode.setTime(0.5,2,2)
+    f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
+    #
+    mm.write(fname,2)
+    fmts.write(fname,0)
+    return fname
 
-fname="testMEDReader8.med"
-outImgName="testMEDReader8.png"
-#########
-arr=DataArrayDouble([(0,0,0),(1,0,0),(2,0,0),(3,0,0),(0,1,0),(1,1,0),(2,1,0),(3,1,0),(0,2,0),(1,2,0),(2,2,0),(3,2,0),(0,3,0),(1,3,0),(2,3,0),(3,3,0)])
-m0=MEDCouplingUMesh("mesh",2) ; m0.setCoords(arr) ; m0.allocateCells()
-for elt in [[2,3,6],[3,7,6],[6,9,5],[6,10,9]]:
-    m0.insertNextCell(NORM_TRI3,elt)
-    pass
-for elt in [[0,4,5,1],[5,6,2,1],[4,8,9,5],[6,10,11,7],[8,12,13,9],[9,13,14,10],[10,14,15,11]]:
-    m0.insertNextCell(NORM_QUAD4,elt)
-    pass
-mm=MEDFileUMesh()
-mm.setMeshAtLevel(0,m0)
-grp0=DataArrayInt([0,1,2,5]) ; grp0.setName("grp0")
-mm.setGroupsAtLevel(0,[grp0])
-fmts=MEDFileFieldMultiTS()
-#
-fNode=MEDCouplingFieldDouble(ON_NODES) ; fNode.setName("fNode")
-fNode.setMesh(m0)
-fNode.setArray(DataArrayDouble([3,2,1,0,3.16,2.23,1.41,1,3.6,2.82,2.23,2,4.24,3.6,3.16,3]))
-fNode.getArray().setInfoOnComponent(0,"C0")
-fNode.setTime(0.5,1,1)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,1,2)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,2,1)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-fNode.getArray().reverse()
-fNode.setTime(0.5,2,2)
-f1ts=MEDFileField1TS() ; f1ts.setFieldNoProfileSBT(fNode) ; fmts.pushBackTimeStep(f1ts)
-#
-mm.write(fname,2)
-fmts.write(fname,0)
-################### MED write is done -> Go to MEDReader
-from paraview.simple import *
 
-myMedReader=MEDReader(FileName=fname)
-myMedReader.AllArrays = ['TS0/mesh/ComSup0/fNode@@][@@P1']
-assert(list(myMedReader.TimestepValues)==[0.,1.,2.,3.])
-myMedReader.UpdatePipeline()
+@WriteInTmpDir
+def test(baseline_file):
+    fname = GenerateCase()
+    ################### MED write is done -> Go to MEDReader
+
+    myMedReader=MEDReader(FileName=fname)
+    myMedReader.AllArrays = ['TS0/mesh/ComSup0/fNode@@][@@P1']
+    assert(list(myMedReader.TimestepValues)==[0.,1.,2.,3.])
+    myMedReader.UpdatePipeline()
+
+    extractCT=ExtractCellType(Input=myMedReader)
+    extractCT.UpdatePipelineInformation()
+    assert(list(extractCT.GetProperty("GeoTypesInfo"))==['TRI3','0','QUAD4','0'])
+    extractCT.AllGeoTypes=['TRI3']
 
-extractCT=ExtractCellType(Input=myMedReader)
-extractCT.UpdatePipelineInformation()
-assert(list(extractCT.GetProperty("GeoTypesInfo"))==['TRI3','0','QUAD4','0'])
-extractCT.AllGeoTypes=['TRI3']
+    extGrp=ExtractGroup(Input=extractCT)
+    #extGrp.UpdatePipelineInformation()
+    assert([x for x in list(extGrp.GetProperty("GroupsFlagsInfo")[::2]) if x[:4]=="GRP_"]==['GRP_grp0'])
+    extGrp.AllGroups="GRP_grp0"
 
-extGrp=ExtractGroup(Input=extractCT)
-#extGrp.UpdatePipelineInformation()
-assert([x for x in list(extGrp.GetProperty("GroupsFlagsInfo")[::2]) if x[:4]=="GRP_"]==['GRP_grp0'])
-extGrp.AllGroups="GRP_grp0"
+    if '-D' not in sys.argv:
+        RenderView1 = GetRenderView()
+        RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
+        RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
+        RenderView1.InteractionMode = '3D'
+        RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
+        RenderView1.CameraParallelScale = 2.1213203435596424
+        RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
 
-if '-D' not in sys.argv:
-    RenderView1 = GetRenderView()
-    RenderView1.CameraFocalPoint = [1.5, 1.5, 0.0]
-    RenderView1.CameraPosition = [1.5, 1.5, 10000.0]
-    RenderView1.InteractionMode = '3D'
-    RenderView1.CameraPosition = [1.5, 1.5, 8.196152422706632]
-    RenderView1.CameraParallelScale = 2.1213203435596424
-    RenderView1.CenterOfRotation = [1.5, 1.5, 0.0]
+        DataRepresentation4 = Show()
+        DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
+        DataRepresentation4.SelectionPointFieldDataArrayName = 'fNode'
+        DataRepresentation4.ScaleFactor = 0.3182729169726372
 
-    DataRepresentation4 = Show()
-    DataRepresentation4.EdgeColor = [0.0, 0.0, 0.5000076295109483]
-    DataRepresentation4.SelectionPointFieldDataArrayName = 'fNode'
-    DataRepresentation4.ScaleFactor = 0.3182729169726372
+        a1_fGauss_PVLookupTable = GetLookupTableForArray( "fNode", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
+        a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
+        DataRepresentation4.ColorArrayName = 'fNode'
+        DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
+        a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
 
-    a1_fGauss_PVLookupTable = GetLookupTableForArray( "fNode", 1, RGBPoints=[0.22, 0.23, 0.299, 0.754, 2.95, 0.706, 0.016, 0.15], VectorMode='Magnitude', NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )
-    a1_fGauss_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )
-    DataRepresentation4.ColorArrayName = 'fNode'
-    DataRepresentation4.LookupTable = a1_fGauss_PVLookupTable
-    a1_fGauss_PVLookupTable.ScalarOpacityFunction = a1_fGauss_PiecewiseFunction
+        RenderView1.ViewTime = 1.0 #### Important # red is in right bottom
+        RenderView1.CacheKey = 1.0
+        RenderView1.UseCache = 1
+        RenderView1.ViewSize=[300,300]
+        Render()
 
-    RenderView1.ViewTime = 1.0 #### Important # red is in right bottom
-    RenderView1.CacheKey = 1.0
-    RenderView1.UseCache = 1
-    RenderView1.ViewSize=[300,300]
-    Render()
+        # compare with baseline image
+        
+        import vtk.test.Testing
+        from vtk.util.misc import vtkGetTempDir
+        vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
+        vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
+                                                                    threshold=1)
+        vtk.test.Testing.interact()
 
-    # compare with baseline image
-    try:
-      baselineIndex = sys.argv.index('-B')+1
-      baselinePath = sys.argv[baselineIndex]
-    except:
-      print("Could not get baseline directory. Test failed.")
-      exit(1)
-    baseline_file = os.path.join(baselinePath, "testMEDReader8.png")
-    import vtk.test.Testing
-    from vtk.util.misc import vtkGetTempDir
-    vtk.test.Testing.VTK_TEMP_DIR = vtk.util.misc.vtkGetTempDir()
-    vtk.test.Testing.compareImage(GetActiveView().GetRenderWindow(), baseline_file,
-                                                                threshold=1)
-    vtk.test.Testing.interact()
+if __name__ == "__main__":
+  outImgName="testMEDReader8.png"
+  baseline_file = RetriveBaseLine(outImgName)
+  test(baseline_file)
+  pass
index 11de06553cfc63724cad1562f0e47bc7eaa753d2..4945528f8e537ce145efee7fcb839bbd52b2f63b 100644 (file)
 #
 # Author : Anthony Geay
 
-from MEDLoader import *
-
-""" This test is a non regression test. Test that ExtractGroup adapt to the current mesh of MEDReader. A MED file containing 2 fields on a 2 different meshes.
-This test checks that the MeshName follows.
-"""
-
-fname="testMEDReader9.med"
-#########
-m1=MEDCouplingUMesh("m1",2) ; m1.setCoords(DataArrayDouble([(0.,0.),(1.,0.),(0.,1.)])) ; m1.allocateCells() ; m1.insertNextCell(NORM_TRI3,[0,1,2])
-m2=MEDCouplingUMesh("m2",2) ; m2.setCoords(DataArrayDouble([(0.,0.),(1.,0.),(0.,1.),(1.,1.)])) ; m2.allocateCells() ; m2.insertNextCell(NORM_QUAD4,[0,1,3,2])
-mm1=MEDFileUMesh() ; mm2=MEDFileUMesh()
-mm1.setMeshAtLevel(0,m1) ; mm2.setMeshAtLevel(0,m2)
-ms=MEDFileMeshes() ; ms.pushMesh(mm1) ; ms.pushMesh(mm2)
-f1=MEDCouplingFieldDouble(ON_CELLS) ; f1.setName("f1") ; f1.setMesh(m1) ; f1.setArray(DataArrayDouble([1.111]))
-f2=MEDCouplingFieldDouble(ON_CELLS) ; f2.setName("f2") ; f2.setMesh(m2) ; f2.setArray(DataArrayDouble([2.2222]))
-ff1=MEDFileField1TS() ; ff2=MEDFileField1TS()
-ff1.setFieldNoProfileSBT(f1) ; ff2.setFieldNoProfileSBT(f2)
-ms.write(fname,2)
-ff1.write(fname,0)
-ff2.write(fname,0)
-################### MED write is done -> Go to MEDReader
+from medcoupling import *
 from paraview.simple import *
+from MEDReaderHelper import WriteInTmpDir,RetriveBaseLine
+
+def GenerateCase():
+    """ This test is a non regression test. Test that ExtractGroup adapt to the current mesh of MEDReader. A MED file containing 2 fields on a 2 different meshes.
+    This test checks that the MeshName follows.
+    """
+    fname="testMEDReader9.med"
+    #########
+    m1=MEDCouplingUMesh("m1",2) ; m1.setCoords(DataArrayDouble([(0.,0.),(1.,0.),(0.,1.)])) ; m1.allocateCells() ; m1.insertNextCell(NORM_TRI3,[0,1,2])
+    m2=MEDCouplingUMesh("m2",2) ; m2.setCoords(DataArrayDouble([(0.,0.),(1.,0.),(0.,1.),(1.,1.)])) ; m2.allocateCells() ; m2.insertNextCell(NORM_QUAD4,[0,1,3,2])
+    mm1=MEDFileUMesh() ; mm2=MEDFileUMesh()
+    mm1.setMeshAtLevel(0,m1) ; mm2.setMeshAtLevel(0,m2)
+    ms=MEDFileMeshes() ; ms.pushMesh(mm1) ; ms.pushMesh(mm2)
+    f1=MEDCouplingFieldDouble(ON_CELLS) ; f1.setName("f1") ; f1.setMesh(m1) ; f1.setArray(DataArrayDouble([1.111]))
+    f2=MEDCouplingFieldDouble(ON_CELLS) ; f2.setName("f2") ; f2.setMesh(m2) ; f2.setArray(DataArrayDouble([2.2222]))
+    ff1=MEDFileField1TS() ; ff2=MEDFileField1TS()
+    ff1.setFieldNoProfileSBT(f1) ; ff2.setFieldNoProfileSBT(f2)
+    ms.write(fname,2)
+    ff1.write(fname,0)
+    ff2.write(fname,0)
+    return fname
 
-myMedReader=MEDReader(FileName=fname)
-myMedReader.AllArrays=['TS0/m1/ComSup0/f1@@][@@P0']
-#myMedReader.UpdatePipelineInformation()
-ExtractGroup1=ExtractGroup(Input=myMedReader)
-#ExtractGroup1.UpdatePipelineInformation()
-assert(ExtractGroup1.GetProperty("MeshName")[0]=="m1")
-myMedReader.AllArrays=['TS0/m2/ComSup0/f2@@][@@P0']
-#myMedReader.UpdatePipeline()
-ExtractGroup2=ExtractGroup(Input=myMedReader)
-#ExtractGroup2.UpdatePipelineInformation()
-assert(ExtractGroup2.GetProperty("MeshName")[0]=="m2")
+@WriteInTmpDir
+def test():
+    fname = GenerateCase()
+    ################### MED write is done -> Go to MEDReader
+    myMedReader=MEDReader(FileName=fname)
+    myMedReader.AllArrays=['TS0/m1/ComSup0/f1@@][@@P0']
+    #myMedReader.UpdatePipelineInformation()
+    ExtractGroup1=ExtractGroup(Input=myMedReader)
+    #ExtractGroup1.UpdatePipelineInformation()
+    assert(ExtractGroup1.GetProperty("MeshName")[0]=="m1")
+    myMedReader.AllArrays=['TS0/m2/ComSup0/f2@@][@@P0']
+    #myMedReader.UpdatePipeline()
+    ExtractGroup2=ExtractGroup(Input=myMedReader)
+    #ExtractGroup2.UpdatePipelineInformation()
+    assert(ExtractGroup2.GetProperty("MeshName")[0]=="m2")
+    
+if __name__ == "__main__":
+    test()