- BoundingBox<T, D> inner_bbox = shape->get_axis_aligned_bounding_box();
-
- LinAl::Vector<T, D> min_pt;
- LinAl::Vector<T, D> max_pt;
- for(unsigned i=0; i<(1<<D); ++i)
- {
- LinAl::Vector<T, D> point;
- for(unsigned j=0; j<D; ++j)
- point[j] = ((i>>j)&1 ? inner_bbox.get_maximum_coordinate(j) : inner_bbox.get_minimum_coordinate(j));
-
- point = transformation.transform(point);
-
- for(unsigned j=0; j<D; ++j)
- {
- min_pt[j] = std::min(min_pt[j], point[j]);
- max_pt[j] = std::max(min_pt[j], point[j]);
- }
- }