96 const Real eps = std::numeric_limits<Real>::epsilon();
105 typedef std::tuple<Real, bool, bool> TestTuple;
106 std::vector<TestTuple> tests =
108 std::make_tuple(0.5,
true,
true),
109 std::make_tuple(0.5 - eps,
false,
true),
110 std::make_tuple(0.5 + eps,
false,
true),
111 std::make_tuple(1.0,
false,
false)
114 for (
unsigned int dir = 0; dir < 3; ++dir)
123 min(
Point(mins[0], mins[1], mins[2])),
124 max(
Point(maxs[0], maxs[1], maxs[2]));
129 for (
const auto & t : tests)
132 Point cmin = min, cmax = max;
133 cmin(dir) = cmax(dir) = std::get<0>(t);
137 CPPUNIT_ASSERT(initial.intersects(comparison) == std::get<1>(t));
138 CPPUNIT_ASSERT(comparison.intersects(initial) == std::get<1>(t));
141 CPPUNIT_ASSERT(initial.intersects(comparison,
TOLERANCE) == std::get<2>(t));
142 CPPUNIT_ASSERT(comparison.intersects(initial,
TOLERANCE) == std::get<2>(t));
148 std::rotate(mins.rbegin(), mins.rbegin()+1, mins.rend());
149 std::rotate(maxs.rbegin(), maxs.rbegin()+1, maxs.rend());
static constexpr Real TOLERANCE
Defines a Cartesian bounding box by the two corner extremum.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
A Point defines a location in LIBMESH_DIM dimensional Real space.