]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
*** empty log message ***
authorageay <ageay>
Fri, 30 Sep 2011 15:28:09 +0000 (15:28 +0000)
committerageay <ageay>
Fri, 30 Sep 2011 15:28:09 +0000 (15:28 +0000)
src/MEDCoupling/MEDCouplingRemapper.cxx
src/MEDCoupling/MEDCouplingRemapper.hxx
src/MEDCoupling_Swig/MEDCouplingRemapper.i

index 9e675e370d8f8135e13a2f62f187b1c3d331228d..1297c12116bf9635503c53d710c698361ea47bc7 100644 (file)
@@ -658,7 +658,7 @@ void MEDCouplingRemapper::buildFinalInterpolationMatrixByConvolution(const std::
     }
 }
 
-void MEDCouplingRemapper::printMatrix(const std::vector<std::map<int,double> >& m)
+void MEDCouplingRemapper::PrintMatrix(const std::vector<std::map<int,double> >& m)
 {
   int id=0;
   for(std::vector<std::map<int,double> >::const_iterator iter1=m.begin();iter1!=m.end();iter1++,id++)
@@ -669,3 +669,8 @@ void MEDCouplingRemapper::printMatrix(const std::vector<std::map<int,double> >&
       std::cout << std::endl;
     }
 }
+
+const std::vector<std::map<int,double> >& MEDCouplingRemapper::getCrudeMatrix() const
+{
+  return _matrix;
+}
index 332a26f4cef8a5fd42b9964ab9d5fb00e834065e..81251b1cf27c2c87317d6147fe56e75445bd9d9e 100644 (file)
@@ -54,7 +54,8 @@ namespace ParaMEDMEM
     MEDCOUPLINGREMAPPER_EXPORT bool setOptionDouble(const std::string& key, double value);
     MEDCOUPLINGREMAPPER_EXPORT bool setOptionString(const std::string& key, const std::string& value);
   public:
-    MEDCOUPLINGREMAPPER_EXPORT static void printMatrix(const std::vector<std::map<int,double> >& m);
+    MEDCOUPLINGREMAPPER_EXPORT const std::vector<std::map<int,double> >& getCrudeMatrix() const;
+    MEDCOUPLINGREMAPPER_EXPORT static void PrintMatrix(const std::vector<std::map<int,double> >& m);
   private:
     int prepareUU(const char *method) throw(INTERP_KERNEL::Exception);
     int prepareEE(const char *method) throw(INTERP_KERNEL::Exception);
index b3dc0890b78d2e1c9926749ec5f51e459c5f4aec..650ff55bd3040ff681d547740eddd62f24be65c6 100644 (file)
@@ -39,4 +39,42 @@ using namespace INTERP_KERNEL;
 
 %include "MEDCoupling.i"
 %include "InterpolationOptions.hxx"
-%include "MEDCouplingRemapper.hxx"
+
+namespace ParaMEDMEM
+{
+  class MEDCouplingRemapper : public TimeLabel, public INTERP_KERNEL::InterpolationOptions
+    {
+    private:
+      void updateTime() const;
+    public:
+      MEDCouplingRemapper();
+      ~MEDCouplingRemapper();
+      int prepare(const MEDCouplingMesh *srcMesh, const MEDCouplingMesh *targetMesh, const char *method) throw(INTERP_KERNEL::Exception);
+      int prepareEx(const MEDCouplingFieldTemplate *src, const MEDCouplingFieldTemplate *target) throw(INTERP_KERNEL::Exception);
+      void transfer(const MEDCouplingFieldDouble *srcField, MEDCouplingFieldDouble *targetField, double dftValue) throw(INTERP_KERNEL::Exception);
+      void reverseTransfer(MEDCouplingFieldDouble *srcField, const MEDCouplingFieldDouble *targetField, double dftValue) throw(INTERP_KERNEL::Exception);
+      MEDCouplingFieldDouble *transferField(const MEDCouplingFieldDouble *srcField, double dftValue) throw(INTERP_KERNEL::Exception);
+      MEDCouplingFieldDouble *reverseTransferField(const MEDCouplingFieldDouble *targetField, double dftValue) throw(INTERP_KERNEL::Exception);
+      bool setOptionInt(const std::string& key, int value);
+      bool setOptionDouble(const std::string& key, double value);
+      bool setOptionString(const std::string& key, const std::string& value);
+      %extend
+         {
+           PyObject *getCrudeMatrix() const
+           {
+             const std::vector<std::map<int,double> >& m=self->getCrudeMatrix();
+             std::size_t sz=m.size();
+             PyObject *ret=PyList_New(sz);
+             for(std::size_t i=0;i<sz;i++)
+               {
+                 const std::map<int,double>& row=m[i];
+                 PyObject *ret0=PyDict_New();
+                 for(std::map<int,double>::const_iterator it=row.begin();it!=row.end();it++)
+                   PyDict_SetItem(ret0,PyInt_FromLong((*it).first),PyFloat_FromDouble((*it).second));
+                 PyList_SetItem(ret,i,ret0);
+               }
+             return ret;
+           }
+         }
+    };
+}