-// 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
// return std::fabs(x - y) < errTol;
}
+
+ /**
+ * Test whether two 3D vectors are colinear. The two vectors are expected to be of unit norm (not checked)
+ * Implemented by checking that the norm of the cross product is null.
+ */
+ inline bool isColinear3D(const double *v1, const double *v2, const double eps = DEFAULT_ABS_TOL)
+ {
+ double cros[3];
+ cross(v1, v2, cros);
+ return epsilonEqual(dot(cros, cros), 0.0, eps);
+ }
+
+
/**
* Compares doubles using a relative tolerance
* This is suitable mainly for comparing larger values to each other. Before performing the relative test,