13 #ifndef bounding_box_test_suite_hpp
14 #define bounding_box_test_suite_hpp
22 template<
typename data__>
79 bounding_box_type1 bb1, bb2;
84 TEST_ASSERT(bb2==bb1);
89 bounding_box_type1 bb3(pt1);
92 TEST_ASSERT(bb3.
get_min()==pt1);
93 TEST_ASSERT(bb3.
get_max()==pt1);
95 bounding_box_type1 bb4(bb1);
97 TEST_ASSERT(bb1==bb4);
102 bounding_box_type2 bb1, bb2;
107 TEST_ASSERT(bb2==bb1);
112 bounding_box_type2 bb3(pt1);
115 TEST_ASSERT(bb3.
get_min()==pt1);
116 TEST_ASSERT(bb3.
get_max()==pt1);
118 bounding_box_type2 bb4(bb1);
120 TEST_ASSERT(bb1==bb4);
125 bounding_box_type3 bb1, bb2;
130 TEST_ASSERT(bb2==bb1);
135 bounding_box_type3 bb3(pt1);
138 TEST_ASSERT(bb3.
get_min()==pt1);
139 TEST_ASSERT(bb3.
get_max()==pt1);
141 bounding_box_type3 bb4(bb1);
143 TEST_ASSERT(bb1==bb4);
151 bounding_box_type1 bb;
152 point_type1 pt1, pt2, pt3, pt4, pt5;
164 TEST_ASSERT(changed);
165 TEST_ASSERT(bb.
get_min()==pt1);
166 TEST_ASSERT(bb.
get_max()==pt1);
169 TEST_ASSERT(changed);
170 TEST_ASSERT(bb.
get_min()==pt1);
171 TEST_ASSERT(bb.
get_max()==pt2);
174 TEST_ASSERT(changed);
175 TEST_ASSERT(bb.
get_min()==pt1);
176 TEST_ASSERT(bb.
get_max()==pt3);
179 TEST_ASSERT(changed);
180 TEST_ASSERT(bb.
get_min()==pt4);
181 TEST_ASSERT(bb.
get_max()==pt3);
184 TEST_ASSERT(!changed);
185 TEST_ASSERT(bb.
get_min()==pt4);
186 TEST_ASSERT(bb.
get_max()==pt3);
191 bounding_box_type2 bb;
192 point_type2 pt1, pt2, pt3, pt4, pt5;
204 TEST_ASSERT(changed);
205 TEST_ASSERT(bb.
get_min()==pt1);
206 TEST_ASSERT(bb.
get_max()==pt1);
209 TEST_ASSERT(changed);
210 TEST_ASSERT(bb.
get_min()==pt1);
211 TEST_ASSERT(bb.
get_max()==pt2);
214 TEST_ASSERT(changed);
215 TEST_ASSERT(bb.
get_min().x()==pt1.x());
216 TEST_ASSERT(bb.
get_min().y()==pt3.y());
217 TEST_ASSERT(bb.
get_max().x()==pt3.x());
218 TEST_ASSERT(bb.
get_max().y()==pt2.y());
221 TEST_ASSERT(changed);
222 TEST_ASSERT(bb.
get_min().x()==pt4.x());
223 TEST_ASSERT(bb.
get_min().y()==pt3.y());
224 TEST_ASSERT(bb.
get_max().x()==pt3.x());
225 TEST_ASSERT(bb.
get_max().y()==pt4.y());
228 TEST_ASSERT(!changed);
229 TEST_ASSERT(bb.
get_min().x()==pt4.x());
230 TEST_ASSERT(bb.
get_min().y()==pt3.y());
231 TEST_ASSERT(bb.
get_max().x()==pt3.x());
232 TEST_ASSERT(bb.
get_max().y()==pt4.y());
237 bounding_box_type3 bb;
238 point_type3 pt1, pt2, pt3, pt4, pt5;
250 TEST_ASSERT(changed);
251 TEST_ASSERT(bb.
get_min()==pt1);
252 TEST_ASSERT(bb.
get_max()==pt1);
255 TEST_ASSERT(changed);
256 TEST_ASSERT(bb.
get_min()==pt1);
257 TEST_ASSERT(bb.
get_max()==pt2);
260 TEST_ASSERT(changed);
261 TEST_ASSERT(bb.
get_min().x()==pt1.x());
262 TEST_ASSERT(bb.
get_min().y()==pt3.y());
263 TEST_ASSERT(bb.
get_min().z()==pt3.z());
264 TEST_ASSERT(bb.
get_max().x()==pt3.x());
265 TEST_ASSERT(bb.
get_max().y()==pt2.y());
266 TEST_ASSERT(bb.
get_max().z()==pt2.z());
269 TEST_ASSERT(changed);
270 TEST_ASSERT(bb.
get_min().x()==pt4.x());
271 TEST_ASSERT(bb.
get_min().y()==pt3.y());
272 TEST_ASSERT(bb.
get_min().z()==pt3.z());
273 TEST_ASSERT(bb.
get_max().x()==pt3.x());
274 TEST_ASSERT(bb.
get_max().y()==pt4.y());
275 TEST_ASSERT(bb.
get_max().z()==pt4.z());
278 TEST_ASSERT(!changed);
279 TEST_ASSERT(bb.
get_min().x()==pt4.x());
280 TEST_ASSERT(bb.
get_min().y()==pt3.y());
281 TEST_ASSERT(bb.
get_min().z()==pt3.z());
282 TEST_ASSERT(bb.
get_max().x()==pt3.x());
283 TEST_ASSERT(bb.
get_max().y()==pt4.y());
284 TEST_ASSERT(bb.
get_max().z()==pt4.z());
292 bounding_box_type1 bb1, bb2, bb3;
293 point_type1 pt1, pt2, pt3, pt4, pt5, pt6;
313 changed=bb1.
add(bb2);
314 TEST_ASSERT(changed);
315 TEST_ASSERT(bb1.
get_min()==pt4);
316 TEST_ASSERT(bb1.
get_max()==pt3);
319 changed=bb1.
add(bb3);
320 TEST_ASSERT(!changed);
321 TEST_ASSERT(bb1.
get_min()==pt4);
322 TEST_ASSERT(bb1.
get_max()==pt3);
327 bounding_box_type2 bb1, bb2;
328 point_type2 pt1, pt2, pt3, pt4, pt5;
343 changed=bb1.
add(bb2);
344 TEST_ASSERT(changed);
345 TEST_ASSERT(bb1.
get_min().x()==pt4.x());
346 TEST_ASSERT(bb1.
get_min().y()==pt3.y());
347 TEST_ASSERT(bb1.
get_max().x()==pt3.x());
348 TEST_ASSERT(bb1.
get_max().y()==pt4.y());
353 bounding_box_type3 bb1, bb2;
354 point_type3 pt1, pt2, pt3, pt4, pt5;
369 changed=bb1.
add(bb2);
370 TEST_ASSERT(changed);
371 TEST_ASSERT(bb1.
get_min().x()==pt4.x());
372 TEST_ASSERT(bb1.
get_min().y()==pt3.y());
373 TEST_ASSERT(bb1.
get_min().z()==pt3.z());
374 TEST_ASSERT(bb1.
get_max().x()==pt3.x());
375 TEST_ASSERT(bb1.
get_max().y()==pt4.y());
376 TEST_ASSERT(bb1.
get_max().z()==pt4.z());
384 bounding_box_type1 bb;
397 pt << static_cast<data_type>(0.9);
398 TEST_ASSERT(bb.
inside(pt));
401 pt << static_cast<data_type>(1.1);
402 TEST_ASSERT(!bb.
inside(pt));
405 pt << static_cast<data_type>(1);
406 TEST_ASSERT(bb.
inside(pt));
411 bounding_box_type2 bb;
424 pt << static_cast<data_type>(0.9),
static_cast<data_type
>(0.9);
425 TEST_ASSERT(bb.
inside(pt));
428 pt << static_cast<data_type>(1.1),
static_cast<data_type
>(1.1);
429 TEST_ASSERT(!bb.
inside(pt));
432 pt << static_cast<data_type>(1), static_cast<data_type>(0);
433 TEST_ASSERT(bb.
inside(pt));
438 bounding_box_type3 bb;
451 pt << static_cast<data_type>(0.9),
static_cast<data_type
>(0.9),
static_cast<data_type
>(0.9);
452 TEST_ASSERT(bb.
inside(pt));
455 pt << static_cast<data_type>(1.1),
static_cast<data_type
>(1.1),
static_cast<data_type
>(1.1);
456 TEST_ASSERT(!bb.
inside(pt));
459 pt << static_cast<data_type>(1), static_cast<data_type>(0),
static_cast<data_type
>(0);
460 TEST_ASSERT(bb.
inside(pt));
468 bounding_box_type1 bb1, bb2;
477 pt << static_cast<data_type>(0);
479 pt << static_cast<data_type>(2);
484 pt << static_cast<data_type>(-3);
486 pt << static_cast<data_type>(-2);
491 pt << static_cast<data_type>(1);
493 pt << static_cast<data_type>(2);
498 pt << static_cast<data_type>(0);
500 pt << static_cast<data_type>(0.5);
505 pt << static_cast<data_type>(-2);
507 pt << static_cast<data_type>(2);
514 bounding_box_type2 bb1, bb2;
523 pt << static_cast<data_type>(0), static_cast<data_type>(0);
525 pt << static_cast<data_type>(2), static_cast<data_type>(2);
530 pt << static_cast<data_type>(-3), static_cast<data_type>(-4);
532 pt << static_cast<data_type>(-2), static_cast<data_type>(0);
537 pt << static_cast<data_type>(1), static_cast<data_type>(0);
539 pt << static_cast<data_type>(2), static_cast<data_type>(2);
544 pt << static_cast<data_type>(0), static_cast<data_type>(0);
546 pt << static_cast<data_type>(0.5),
static_cast<data_type
>(0.5);
551 pt << static_cast<data_type>(-2), static_cast<data_type>(-2);
553 pt << static_cast<data_type>(2), static_cast<data_type>(2);
560 bounding_box_type3 bb1, bb2;
569 pt << static_cast<data_type>(0), static_cast<data_type>(0),
static_cast<data_type
>(0);
571 pt << static_cast<data_type>(2), static_cast<data_type>(2),
static_cast<data_type
>(2);
576 pt << static_cast<data_type>(-3), static_cast<data_type>(-4),
static_cast<data_type
>(-3);
578 pt << static_cast<data_type>(-2), static_cast<data_type>(0),
static_cast<data_type
>(0);
583 pt << static_cast<data_type>(1), static_cast<data_type>(0),
static_cast<data_type
>(0);
585 pt << static_cast<data_type>(2), static_cast<data_type>(2),
static_cast<data_type
>(2);
590 pt << static_cast<data_type>(0), static_cast<data_type>(0),
static_cast<data_type
>(0);
592 pt << static_cast<data_type>(0.5),
static_cast<data_type
>(0.5),
static_cast<data_type
>(0.5);
597 pt << static_cast<data_type>(-2), static_cast<data_type>(-2),
static_cast<data_type
>(-2);
599 pt << static_cast<data_type>(2), static_cast<data_type>(2),
static_cast<data_type
>(2);
void inside_test()
Definition: bounding_box_test_suite.hpp:380
void intersect_test()
Definition: bounding_box_test_suite.hpp:464
point_type::Index index_type
Definition: bounding_box.hpp:33
Definition: bounding_box.hpp:27
Eigen::Matrix< data_type, 1, dim__ > point_type
Definition: bounding_box.hpp:32
bounding_box_type3::point_type point_type3
Definition: bounding_box_test_suite.hpp:32
point_type get_max() const
Definition: bounding_box.hpp:104
bool intersect(const bounding_box< data_type, dim__ > &bb) const
Definition: bounding_box.hpp:160
eli::geom::general::bounding_box< data__, 3 > bounding_box_type3
Definition: bounding_box_test_suite.hpp:31
void construction_test()
Definition: bounding_box_test_suite.hpp:75
bounding_box_test_suite()
Definition: bounding_box_test_suite.hpp:66
eli::geom::general::bounding_box< data__, 2 > bounding_box_type2
Definition: bounding_box_test_suite.hpp:29
bounding_box_type2::point_type point_type2
Definition: bounding_box_test_suite.hpp:30
void add_test()
Definition: bounding_box_test_suite.hpp:147
void AddTests(const float &)
Definition: bounding_box_test_suite.hpp:37
bool add(const point_type &p)
Definition: bounding_box.hpp:113
void set_min(const point_type &pm)
Definition: bounding_box.hpp:84
bool inside(const point_type &p) const
Definition: bounding_box.hpp:149
eli::geom::general::bounding_box< data__, 1 > bounding_box_type1
Definition: bounding_box_test_suite.hpp:27
bool empty_set() const
Definition: bounding_box.hpp:82
point_type get_min() const
Definition: bounding_box.hpp:93
Definition: bounding_box_test_suite.hpp:23
bounding_box_type1::point_type point_type1
Definition: bounding_box_test_suite.hpp:28
void AddTests(const long double &)
Definition: bounding_box_test_suite.hpp:55
bounding_box_type1::index_type index_type
Definition: bounding_box_test_suite.hpp:34
void set_max(const point_type &pm)
Definition: bounding_box.hpp:95
void add_bb_test()
Definition: bounding_box_test_suite.hpp:288
~bounding_box_test_suite()
Definition: bounding_box_test_suite.hpp:70
void AddTests(const double &)
Definition: bounding_box_test_suite.hpp:46
data__ data_type
Definition: bounding_box_test_suite.hpp:26