29 template <
typename Derived,
typename T,
int N>
33 Eigen::Array<T, N, 1> diff = (
a.asEigen().array() -
b.asEigen().array()).
abs();
34 Eigen::Array<T, N, 1> rhs = (0.5 * (
a.asEigen().array() +
b.asEigen().array())).abs();
37 return (diff <= rhs).all();
41 CoordinateBase<Point2D, double, 2>
const &, double, double);
43 CoordinateBase<Point3D, double, 3>
const &, double, double);
45 CoordinateBase<Extent2D, double, 2>
const &, double, double);
47 CoordinateBase<Extent3D, double, 3>
const &, double, double);
A CRTP base class for coordinate objects.
Angle abs(Angle const &a)
template bool allclose< Point2D, double, 2 >(CoordinateBase< Point2D, double, 2 > const &, CoordinateBase< Point2D, double, 2 > const &, double, double)
template bool allclose< Point3D, double, 3 >(CoordinateBase< Point3D, double, 3 > const &, CoordinateBase< Point3D, double, 3 > const &, double, double)
template bool allclose< Extent3D, double, 3 >(CoordinateBase< Extent3D, double, 3 > const &, CoordinateBase< Extent3D, double, 3 > const &, double, double)
bool allclose(CoordinateBase< Derived, T, N > const &a, CoordinateBase< Derived, T, N > const &b, T rtol=static_cast< T >(1E-5), T atol=static_cast< T >(1E-8)) noexcept(std::is_nothrow_copy_constructible< T >::value &&std::is_nothrow_copy_assignable< T >::value)
Floating-point comparison with tolerance.
A base class for image defects.
template bool allclose< Extent2D, double, 2 >(CoordinateBase< Extent2D, double, 2 > const &, CoordinateBase< Extent2D, double, 2 > const &, double, double)