Salome HOME
Some useful helpers into medcoupling python module
[tools/medcoupling.git] / src / INTERP_KERNEL / Interpolation.txx
index 3ac70163fd6182d0c2a3f21e5a1b0665dbae14ac..b575c1069cdd3379ce79de6a1c1546c1338fc985 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  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.
+// 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
@@ -16,6 +16,7 @@
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+// Author : Anthony Geay (CEA/DEN)
 #ifndef __INTERPOLATION_TXX__
 #define __INTERPOLATION_TXX__
 
@@ -28,12 +29,11 @@ namespace INTERP_KERNEL
 { 
   template<class TrueMainInterpolator>
   template<class MyMeshType, class MatrixType>
-  int Interpolation<TrueMainInterpolator>::fromToIntegralUniform(bool fromTo, const MyMeshType& mesh, MatrixType& result, const char *method)
+  int Interpolation<TrueMainInterpolator>::fromToIntegralUniform(bool fromTo, const MyMeshType& mesh, MatrixType& result, const std::string& method)
   {
     typedef typename MyMeshType::MyConnType ConnType;
-    std::string methodCPP(method);
     int ret=-1;
-    if(methodCPP=="P0")
+    if(method=="P0")
       {
         IntegralUniformIntersectorP0<MyMeshType,MatrixType> intersector(mesh,InterpolationOptions::getMeasureAbsStatus());
         intersector.setFromTo(fromTo);
@@ -41,7 +41,7 @@ namespace INTERP_KERNEL
         intersector.intersectCells(0,tmp,result);
         ret=intersector.getNumberOfColsOfResMatrix();
       }
-    else if(methodCPP=="P1")
+    else if(method=="P1")
       {
         IntegralUniformIntersectorP1<MyMeshType,MatrixType> intersector(mesh,InterpolationOptions::getMeasureAbsStatus());
         intersector.setFromTo(fromTo);
@@ -54,24 +54,6 @@ namespace INTERP_KERNEL
     return ret;
   }
 
-  template<class TrueMainInterpolator>
-  void Interpolation<TrueMainInterpolator>::checkAndSplitInterpolationMethod(const char *method, std::string& srcMeth, std::string& trgMeth) throw(INTERP_KERNEL::Exception)
-  {
-    const int NB_OF_METH_MANAGED=4;
-    const char *METH_MANAGED[NB_OF_METH_MANAGED]={"P0P0","P0P1","P1P0","P1P1"};
-    std::string methodC(method);
-    bool found=false;
-    for(int i=0;i<NB_OF_METH_MANAGED && !found;i++)
-      found=(methodC==METH_MANAGED[i]);
-    if(!found)
-      {
-        std::string msg("The interpolation method : \'"); msg+=method; msg+="\' not managed !";
-        throw INTERP_KERNEL::Exception(msg.c_str());
-      }
-    srcMeth=methodC.substr(0,2);
-    trgMeth=methodC.substr(2);
-  }
-
   template<class TrueMainInterpolator>
   template<class MyMeshType>
   double Interpolation<TrueMainInterpolator>::CalculateCharacteristicSizeOfMeshes(const MyMeshType& myMeshS, const MyMeshType& myMeshT, const int printLevel)