-// Copyright (C) 2007-2013 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
calculateDeterminant();
LOG(3, "determinant before inverse = " << _determinant);
+
+ double ni(1./INTERP_KERNEL::normInf(_linear_transform));
+ ni = ni*ni*ni;
// check that tetra is non-planar -> determinant is not zero
+ // AGY : the check to 0. must integrate the infinite norm of _linear_transform matrix.
// otherwise set _determinant to zero to signal caller that transformation did not work
- if(epsilonEqual(_determinant, 0.0))
+ if(epsilonEqual(ni*_determinant, 0.0))
{
_determinant = 0.0;
return;