]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Accept now constructors in Python API.
authorageay <ageay>
Mon, 2 Jul 2012 08:32:47 +0000 (08:32 +0000)
committerageay <ageay>
Mon, 2 Jul 2012 08:32:47 +0000 (08:32 +0000)
src/MEDCoupling/MEDCouplingField.hxx
src/MEDCoupling_Swig/MEDCouplingCommon.i
src/MEDLoader/Swig/MEDLoaderCommon.i
src/MEDLoader/Swig/MEDLoaderTest3.py

index 50e1ad397e248739d62a47403bbe597d95ea0153..74093090d18c7c547482c6d0c36aabcfd0c26259 100644 (file)
@@ -74,7 +74,6 @@ namespace ParaMEDMEM
     int getGaussLocalizationIdOfOneCell(int cellId) const throw(INTERP_KERNEL::Exception);
     void getCellIdsHavingGaussLocalization(int locId, std::vector<int>& cellIds) const throw(INTERP_KERNEL::Exception);
     const MEDCouplingGaussLocalization& getGaussLocalization(int locId) const throw(INTERP_KERNEL::Exception);
-  protected:
     void updateTime() const;
   protected:
     MEDCouplingField(TypeOfField type);
index 6a5b70cbbe580863e3f4e4550001b806b3400e3f..455e25331786be2c551cb6c513ac0dc4cf6f5c0a 100644 (file)
@@ -6604,6 +6604,7 @@ namespace ParaMEDMEM
     static MEDCouplingFieldTemplate *New(TypeOfField type);
     std::string simpleRepr() const;
     std::string advancedRepr() const;
+    void updateTime() const;
     %extend
        {
          MEDCouplingFieldTemplate(const MEDCouplingFieldDouble *f) throw(INTERP_KERNEL::Exception)
index 268d2cde9f840d9ca41544ee22d4bac17eca088b..ce95ac5932204e74b43c804900f98cf0d3eb4683 100644 (file)
@@ -337,7 +337,7 @@ namespace ParaMEDMEM
     double getTimeValue() const;
     void setTimeUnit(const char *unit);
     const char *getTimeUnit() const;
-    virtual int getNumberOfNodes() const throw(INTERP_KERNEL::Exception) = 0;
+    virtual int getNumberOfNodes() const throw(INTERP_KERNEL::Exception);
     std::vector<int> getNonEmptyLevels() const;
     std::vector<int> getNonEmptyLevelsExt() const;
     void write(const char *fileName, int mode) const throw(INTERP_KERNEL::Exception);
@@ -382,8 +382,8 @@ namespace ParaMEDMEM
     void normalizeFamIdsTrio() throw(INTERP_KERNEL::Exception);
     void normalizeFamIdsMEDFile() throw(INTERP_KERNEL::Exception);
     virtual int getMeshDimension() const throw(INTERP_KERNEL::Exception);
-    virtual std::string simpleRepr() const = 0;
-    virtual std::string advancedRepr() const = 0;
+    virtual std::string simpleRepr() const;
+    virtual std::string advancedRepr() const;
     //
     virtual MEDCouplingMesh *getGenMeshAtLevel(int meshDimRelToMax, bool renum=false) const throw(INTERP_KERNEL::Exception);
     virtual void setFamilyFieldArr(int meshDimRelToMaxExt, DataArrayInt *famArr) throw(INTERP_KERNEL::Exception);
@@ -398,6 +398,16 @@ namespace ParaMEDMEM
     virtual DataArrayInt *getNodeFamiliesArr(const std::vector<std::string>& fams, bool renum=false) const throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileMesh(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileMesh::New(fileName);
+         }
+
+         MEDFileMesh(const char *fileName, const char *mName, int dt=-1, int it=-1)
+         {
+           return MEDFileMesh::New(fileName,mName,dt,it);
+         }
+         
          std::string __str__() const
          {
            return self->simpleRepr();
@@ -526,6 +536,21 @@ namespace ParaMEDMEM
     void optimizeFamilies() throw(INTERP_KERNEL::Exception);
     %extend
        { 
+         MEDFileUMesh(const char *fileName, const char *mName, int dt=-1, int it=-1) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileUMesh::New(fileName,mName,dt,it);
+         }
+
+         MEDFileUMesh(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileUMesh::New(fileName);
+         }
+
+         MEDFileUMesh()
+         {
+           return MEDFileUMesh::New();
+         }
+         
          PyObject *getRevNumberFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception)
          {
            const DataArrayInt *tmp=self->getRevNumberFieldAtLevel(meshDimRelToMaxExt);
@@ -571,6 +596,21 @@ namespace ParaMEDMEM
     void setMesh(MEDCouplingCMesh *m) throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileCMesh()
+         {
+           return MEDFileCMesh::New();
+         }
+
+         MEDFileCMesh(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileCMesh::New(fileName);
+         }
+
+         MEDFileCMesh(const char *fileName, const char *mName, int dt=-1, int it=-1) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileCMesh::New(fileName,mName,dt,it);
+         }
+         
          PyObject *getMesh() const
          {
            const MEDCouplingCMesh *tmp=self->getMesh();
@@ -592,6 +632,21 @@ namespace ParaMEDMEM
     void setOneTimeStep(MEDFileMesh *mesh1TimeStep) throw(INTERP_KERNEL::Exception);
     %extend
        { 
+         MEDFileMeshMultiTS()
+         {
+           return MEDFileMeshMultiTS::New();
+         }
+
+         MEDFileMeshMultiTS(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileMeshMultiTS::New(fileName);
+         }
+
+         MEDFileMeshMultiTS(const char *fileName, const char *mName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileMeshMultiTS::New(fileName,mName);
+         }
+
          MEDFileMesh *getOneTimeStep() const throw(INTERP_KERNEL::Exception)
            {
              MEDFileMesh *ret=self->getOneTimeStep();
@@ -617,6 +672,16 @@ namespace ParaMEDMEM
     void destroyMeshAtPos(int i) throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileMeshes()
+         {
+           return MEDFileMeshes::New();
+         }
+
+         MEDFileMeshes(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileMeshes::New(fileName);
+         }
+
          std::string __str__() const
            {
              return self->simpleRepr();
@@ -691,10 +756,10 @@ namespace ParaMEDMEM
     void shallowCpyGlobs(const MEDFileFieldGlobsReal& other);
     std::vector<std::string> getPfls() const;
     std::vector<std::string> getLocs() const;
-    virtual std::vector<std::string> getPflsReallyUsed() const = 0;
-    virtual std::vector<std::string> getLocsReallyUsed() const = 0;
-    virtual std::vector<std::string> getPflsReallyUsedMulti() const = 0;
-    virtual std::vector<std::string> getLocsReallyUsedMulti() const = 0;
+    virtual std::vector<std::string> getPflsReallyUsed() const;
+    virtual std::vector<std::string> getLocsReallyUsed() const;
+    virtual std::vector<std::string> getPflsReallyUsedMulti() const;
+    virtual std::vector<std::string> getLocsReallyUsedMulti() const;
     void killProfileIds(const std::vector<int>& pflIds) throw(INTERP_KERNEL::Exception);
     void killLocalizationIds(const std::vector<int>& locIds) throw(INTERP_KERNEL::Exception);
     void changePflName(const char *oldName, const char *newName) throw(INTERP_KERNEL::Exception);
@@ -961,6 +1026,16 @@ namespace ParaMEDMEM
     void setLocNameOnLeaf(const char *mName, INTERP_KERNEL::NormalizedCellType typ, int locId, const char *newLocName, bool forceRenameOnGlob=false) throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileField1TS(const char *fileName, const char *fieldName, int iteration, int order) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileField1TS::New(fileName,fieldName,iteration,order);
+         }
+
+         MEDFileField1TS()
+         {
+           return MEDFileField1TS::New();
+         }
+         
          std::string __str__() const
            {
              return self->simpleRepr();
@@ -1181,6 +1256,16 @@ namespace ParaMEDMEM
     void appendFieldProfile(const MEDCouplingFieldDouble *field, const MEDFileMesh *mesh, int meshDimRelToMax, const DataArrayInt *profile) throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileFieldMultiTS()
+         {
+           return MEDFileFieldMultiTS::New();
+         }
+
+         MEDFileFieldMultiTS(const char *fileName, const char *fieldName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileFieldMultiTS::New(fileName,fieldName);
+         }
+         
          std::string __str__() const
            {
              return self->simpleRepr();
@@ -1249,6 +1334,16 @@ namespace ParaMEDMEM
     void destroyFieldAtPos(int i) throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileFields()
+         {
+           return MEDFileFields::New();
+         }
+
+         MEDFileFields(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileFields::New(fileName);
+         }
+         
          std::string __str__() const
          {
            return self->simpleRepr();
@@ -1289,6 +1384,16 @@ namespace ParaMEDMEM
     void write(const char *fileName, int mode) const throw(INTERP_KERNEL::Exception);
     %extend
        {
+         MEDFileData(const char *fileName) throw(INTERP_KERNEL::Exception)
+         {
+           return MEDFileData::New(fileName);
+         }
+
+         MEDFileData()
+         {
+           return MEDFileData::New();
+         }
+
          std::string __str__() const
          {
            return self->simpleRepr();
index f0eb1fd1e56cc24fc9107107ba2eea2fb142bf87..a97cd9a17ae796101304f94f4876b7c42b2cea43 100644 (file)
@@ -1257,6 +1257,42 @@ class MEDLoaderTest(unittest.TestCase):
         self.assertTrue(delta.getMaxValue()[0]<1e-12)
         mm.write(fname,2)       
         pass
+
+    def testBasicConstructors(self):
+        fname="Pyfile18.med"
+        m=MEDFileMesh(fname)
+        m=MEDFileMesh(fname,"ExampleOfMultiDimW",-1,-1)
+        m=MEDFileMesh(fname)
+        m=MEDFileUMesh(fname,"ExampleOfMultiDimW",-1,-1)
+        m=MEDFileUMesh(fname)
+        m=MEDFileUMesh()
+        self.testMEDMesh6()
+        m=MEDFileCMesh("MEDFileMesh5.med")
+        m=MEDFileCMesh("MEDFileMesh5.med","myFirstCartMesh",-1,-1)
+        m=MEDFileCMesh()
+        m=MEDFileMeshMultiTS()
+        m=MEDFileMeshMultiTS(fname)
+        m=MEDFileMeshMultiTS(fname,"ExampleOfMultiDimW")
+        m=MEDFileMeshes()
+        m=MEDFileMeshes(fname)
+        m=MEDFileField1TS()
+        m=MEDFileField1TS(fname,"FieldOnFacesShuffle",2,7)
+        m=MEDFileFieldMultiTS()
+        m=MEDFileFieldMultiTS(fname,"FieldOnFacesShuffle")
+        m=MEDFileFields()
+        m=MEDFileFields(fname)
+        m=MEDFileData()
+        m=MEDFileData(fname)
+        #
+        m=DataArrayInt() ; m=DataArrayInt(5,2) ; m=DataArrayInt([6,5,4,3,2,1],3,2)
+        m=DataArrayDouble() ; m=DataArrayDouble(5,2) ; m=DataArrayDouble([6,5,4,3,2,1],3,2)
+        m=MEDCouplingUMesh("jjj",2) ; m=MEDCouplingUMesh()
+        m=MEDCouplingCMesh()
+        m=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME)
+        m=MEDCouplingFieldTemplate(ON_NODES)
+        m=MEDCouplingMultiFields([])
+        m=MEDCouplingFieldOverTime([])
+        pass
     pass
 
 unittest.main()