13 #ifndef minimum_distance_bounding_box_test_suite_hpp
14 #define minimum_distance_bounding_box_test_suite_hpp
23 template<
typename data__>
75 bounding_box_type1 bb;
77 data_type dist, dist_ref;
86 dist_ref=std::abs(pt.x()-bb.
get_min().x());
88 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
92 dist_ref=std::abs(pt.x()-bb.
get_max().x());
94 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
98 dist_ref=
static_cast<data_type
>(0);
100 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
102 dist_ref=
static_cast<data_type
>(0);
104 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
108 dist_ref=
static_cast<data_type
>(0);
110 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
115 bounding_box_type2 bb;
116 point_type2 pt, corner;
117 data_type dist, dist_ref;
129 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
136 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
143 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
150 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
154 dist_ref=std::abs(pt.x()-bb.
get_min().x());
156 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
160 dist_ref=std::abs(pt.x()-bb.
get_max().x());
162 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
166 dist_ref=std::abs(pt.y()-bb.
get_min().y());
168 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
172 dist_ref=std::abs(pt.y()-bb.
get_max().y());
174 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
178 dist_ref=
static_cast<data_type
>(0);
180 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
182 dist_ref=
static_cast<data_type
>(0);
184 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
188 dist_ref=
static_cast<data_type
>(0);
190 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
192 dist_ref=
static_cast<data_type
>(0);
194 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
199 bounding_box_type3 bb;
200 point_type3 pt, corner;
201 data_type dist, dist_ref;
213 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
220 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
227 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
234 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
241 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
248 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
255 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
262 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
269 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
276 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
283 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
290 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
297 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
304 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
311 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
318 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
325 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
332 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
339 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
346 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
350 dist_ref=std::abs(pt.x()-bb.
get_min().x());
352 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
356 dist_ref=std::abs(pt.x()-bb.
get_max().x());
358 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
362 dist_ref=std::abs(pt.y()-bb.
get_min().y());
364 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
368 dist_ref=std::abs(pt.y()-bb.
get_max().y());
370 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
374 dist_ref=std::abs(pt.z()-bb.
get_min().z());
376 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
380 dist_ref=std::abs(pt.z()-bb.
get_max().z());
382 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
386 dist_ref=
static_cast<data_type
>(0);
388 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
390 dist_ref=
static_cast<data_type
>(0);
392 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
394 dist_ref=
static_cast<data_type
>(0);
396 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
400 dist_ref=
static_cast<data_type
>(0);
402 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
404 dist_ref=
static_cast<data_type
>(0);
406 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
408 dist_ref=
static_cast<data_type
>(0);
410 TEST_ASSERT(tol.approximately_equal(dist, dist_ref));
void AddTests(const long double &)
Definition: minimum_distance_bounding_box_test_suite.hpp:55
eli::geom::general::bounding_box< data__, 1 > bounding_box_type1
Definition: minimum_distance_bounding_box_test_suite.hpp:28
bounding_box_type1::point_type point_type1
Definition: minimum_distance_bounding_box_test_suite.hpp:29
curve::piecewise< curve1__, data1__, dim1__, tol1__ >::data_type minimum_distance(typename curve::piecewise< curve1__, data1__, dim1__, tol1__ >::data_type &t, const curve::piecewise< curve1__, data1__, dim1__, tol1__ > &pc, const typename curve::piecewise< curve1__, data1__, dim1__, tol1__ >::point_type &pt)
Derived1__::Scalar distance(const Eigen::MatrixBase< Derived1__ > &p1, const Eigen::MatrixBase< Derived2__ > &p2)
Definition: distance.hpp:33
point_type::Index index_type
Definition: bounding_box.hpp:33
Definition: bounding_box.hpp:27
bounding_box_type1::tolerance_type tolerance_type
Definition: minimum_distance_bounding_box_test_suite.hpp:35
Eigen::Matrix< data_type, 1, dim__ > point_type
Definition: bounding_box.hpp:32
void point_3d_test()
Definition: minimum_distance_bounding_box_test_suite.hpp:197
point_type get_max() const
Definition: bounding_box.hpp:104
eli::geom::general::bounding_box< data__, 2 > bounding_box_type2
Definition: minimum_distance_bounding_box_test_suite.hpp:30
void point_2d_test()
Definition: minimum_distance_bounding_box_test_suite.hpp:113
bounding_box_type2::point_type point_type2
Definition: minimum_distance_bounding_box_test_suite.hpp:31
void point_1d_test()
Definition: minimum_distance_bounding_box_test_suite.hpp:73
tol__ tolerance_type
Definition: bounding_box.hpp:34
void AddTests(const float &)
Definition: minimum_distance_bounding_box_test_suite.hpp:41
bool add(const point_type &p)
Definition: bounding_box.hpp:113
bounding_box_type1::index_type index_type
Definition: minimum_distance_bounding_box_test_suite.hpp:36
point_type get_min() const
Definition: bounding_box.hpp:93
tolerance_type tol
Definition: minimum_distance_bounding_box_test_suite.hpp:38
minimum_distance_bounding_box_test_suite()
Definition: minimum_distance_bounding_box_test_suite.hpp:64
eli::geom::general::bounding_box< data__, 3 > bounding_box_type3
Definition: minimum_distance_bounding_box_test_suite.hpp:32
void AddTests(const double &)
Definition: minimum_distance_bounding_box_test_suite.hpp:48
bounding_box_type3::point_type point_type3
Definition: minimum_distance_bounding_box_test_suite.hpp:33
data__ data_type
Definition: minimum_distance_bounding_box_test_suite.hpp:27
Definition: minimum_distance_bounding_box_test_suite.hpp:24
~minimum_distance_bounding_box_test_suite()
Definition: minimum_distance_bounding_box_test_suite.hpp:68