29 template <
typename Derived,
typename T,
int N>
32 Eigen::Array<T, N, 1> diff = (a.
asEigen().array() - b.
asEigen().array()).abs();
33 Eigen::Array<T, N, 1> rhs = (0.5 * (a.
asEigen().array() + b.
asEigen().array())).abs();
36 return (diff <= rhs).all();
40 CoordinateBase<Point2D, double, 2>
const &, double, double);
42 CoordinateBase<Point3D, double, 3>
const &, double, double);
44 CoordinateBase<Extent2D, double, 2>
const &, double, double);
46 CoordinateBase<Extent3D, double, 3>
const &, double, double);
A CRTP base class for coordinate objects.
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))
Floating-point comparison with tolerance.
template bool allclose< Extent2D, double, 2 >(CoordinateBase< Extent2D, double, 2 > const &, CoordinateBase< Extent2D, double, 2 > const &, double, double)
EigenVector const & asEigen() const
Return a fixed-size Eigen representation of the coordinate object.