X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FINTERP_KERNEL%2FInterpolationPlanar.txx;h=5c3fc9a244121ec5964f7948683ee2e6fd12edfb;hb=c241ded3d1997e10ee24c08f294c98c14eca956a;hp=d7a1fea200480cec4da107e9a13c48b2a1f400a1;hpb=3c911ce36f5caa779ea60042e738fa57671a44b1;p=tools%2Fmedcoupling.git diff --git a/src/INTERP_KERNEL/InterpolationPlanar.txx b/src/INTERP_KERNEL/InterpolationPlanar.txx index d7a1fea20..5c3fc9a24 100644 --- a/src/INTERP_KERNEL/InterpolationPlanar.txx +++ b/src/INTERP_KERNEL/InterpolationPlanar.txx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 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 @@ -40,6 +40,8 @@ #include "PlanarIntersectorP1P0PL.txx" #include "PlanarIntersectorP1P1PL.hxx" #include "PlanarIntersectorP1P1PL.txx" +#include "MappedBarycentric2DIntersectorP1P1.hxx" +#include "MappedBarycentric2DIntersectorP1P1.txx" #include "VectorUtils.hxx" #include "BBTree.txx" @@ -77,7 +79,7 @@ namespace INTERP_KERNEL * - Values: positive real number. * - Default: 1.0E-12. * -# PrintLevel: Level of verboseness during the computations. - * - Values: interger between 0 and 3. + * - Values: integer between 0 and 3. * - Default: 0. */ template @@ -315,6 +317,8 @@ namespace INTERP_KERNEL InterpolationOptions::getPrecision(), InterpolationOptions::getOrientation()); break; + default: + throw INTERP_KERNEL::Exception("For P1P0 planar interpolation possibities are : Triangulation, Convex, Geometric2D, PointLocator, BarycentricGeo2D or Barycentric!"); } } else if(meth=="P1P1") @@ -356,15 +360,23 @@ namespace INTERP_KERNEL InterpolationOptions::getPrecision(), InterpolationOptions::getOrientation()); break; + case MappedBarycentric: + intersector=new MappedBarycentric2DIntersectorP1P1(myMeshT, myMeshS, _dim_caracteristic, + InterpolationOptions::getMaxDistance3DSurfIntersect(), + InterpolationOptions::getMinDotBtwPlane3DSurfIntersect(), + InterpolationOptions::getMedianPlane(), + InterpolationOptions::getPrecision(), + InterpolationOptions::getOrientation()); + break; default: - throw INTERP_KERNEL::Exception("For P1P1 planar interpolation possibities are : Triangulation, Convex, Geometric2D, PointLocator !"); + throw INTERP_KERNEL::Exception("For P1P1 planar interpolation possibities are : Triangulation, Convex, Geometric2D, PointLocator, MappedBarycentric !"); } } else throw INTERP_KERNEL::Exception("Invalid method specified or intersection type ! Must be in : \"P0P0\" \"P0P1\" \"P1P0\" or \"P1P1\""); /****************************************************************/ /* Create a search tree based on the bounding boxes */ - /* Instanciate the intersector and initialise the result vector */ + /* Instantiate the intersector and initialise the result vector */ /****************************************************************/ long start_filtering=clock();