Salome HOME
Windows porting
[tools/medcoupling.git] / src / PyWrapping / medcoupling_pycode
index bf9fa29c0f5c0c0df88432e9d3581402f9b73933..d2e6c7df92dfd972f7dc5845f1a394671f2450e5 100644 (file)
@@ -43,8 +43,9 @@ def AdvancedExtensionsStr(sz=60):
     sts=[]
     for elt in AllPossibleExtensions():
         isOK=elt in aext
-        tab[int(isOK)]
         sts.append(elt+" "+('{:.>%d}'%(sz-len(elt)-1)).format(' %s'%tab[isOK]))
+        if not isOK:
+            continue
         if "Renumb" in elt:
             SubExtension(AllRenumberMethods(),RenumberAvailableMethods(),pad,tab, sts)
             pass
@@ -57,4 +58,45 @@ def AdvancedExtensionsStr(sz=60):
 def ShowAdvancedExtensions(sz=60):
     print(AdvancedExtensionsStr(sz))
 
+def MEDCouplingWriterHelper(mci,fileName,medFunc):
+    import os
+    fileWithoutExt,ext=os.path.splitext(fileName)
+    if ext in [".med",".rmed",""]:
+        outFileName=fileName
+        if ext=="":
+            outFileName=fileWithoutExt+".med"
+        if HasMEDFileExt():
+            medFunc(outFileName,mci,True)
+            pass
+        else:
+            raise InterpKernelException("Request for writing \"%s\" MED file, but MED file is not activated in your medcoupling !")
+        pass
+    elif ext[:3]==".vt" and len(ext)==4:
+        mci.writeVTK(fileName)
+    else:
+        raise InterpKernelException("The extension \"%s\" of input file \"%s\" is not recognized !"%(ext,fileName))
+    pass
+
+if HasMEDFileExt():
+    def MEDCouplingMesh_write(self,fileName):
+        MEDCouplingWriterHelper(self,fileName,WriteMesh)
+
+    def MEDCouplingField_write(self,fileName):
+        MEDCouplingWriterHelper(self,fileName,WriteField)
+
+    def MEDCouplingFieldT_copyTimeInfoFrom(self,mlf1ts):
+        assert(isinstance(mlf1ts,MEDFileAnyTypeField1TS))
+        a,b,c=mlf1ts.getTime()
+        self.setTime(c,a,b)
+        pass
+
+    MEDCouplingMesh.write=MEDCouplingMesh_write
+    del MEDCouplingMesh_write
+    MEDCouplingField.write=MEDCouplingField_write
+    del MEDCouplingField_write
+    MEDCouplingFieldDouble.copyTimeInfoFrom=MEDCouplingFieldT_copyTimeInfoFrom
+    MEDCouplingFieldInt.copyTimeInfoFrom=MEDCouplingFieldT_copyTimeInfoFrom
+    MEDCouplingFieldFloat.copyTimeInfoFrom=MEDCouplingFieldT_copyTimeInfoFrom
+    del MEDCouplingFieldT_copyTimeInfoFrom
+    pass
 %}