Factorize functor construction

This commit is contained in:
Mael Rouxel-Labbé 2020-05-14 09:42:40 +02:00
parent bd48aed9b8
commit 0e7cf9da70
1 changed files with 10 additions and 8 deletions

View File

@ -88,15 +88,17 @@ void construct_oriented_bounding_box(const PointRange& points,
zmax = (std::max)(rot_pt.z(), zmax);
}
obb_points[0] = traits.construct_point_3_object()(xmin, ymin, zmin);
obb_points[1] = traits.construct_point_3_object()(xmax, ymin, zmin);
obb_points[2] = traits.construct_point_3_object()(xmax, ymax, zmin);
obb_points[3] = traits.construct_point_3_object()(xmin, ymax, zmin);
const typename Traits::Construct_point_3 cp = traits.construct_point_3_object();
obb_points[4] = traits.construct_point_3_object()(xmin, ymax, zmax); // see order in make_hexahedron()...
obb_points[5] = traits.construct_point_3_object()(xmin, ymin, zmax);
obb_points[6] = traits.construct_point_3_object()(xmax, ymin, zmax);
obb_points[7] = traits.construct_point_3_object()(xmax, ymax, zmax);
obb_points[0] = cp(xmin, ymin, zmin);
obb_points[1] = cp(xmax, ymin, zmin);
obb_points[2] = cp(xmax, ymax, zmin);
obb_points[3] = cp(xmin, ymax, zmin);
obb_points[4] = cp(xmin, ymax, zmax); // see order in make_hexahedron()...
obb_points[5] = cp(xmin, ymin, zmax);
obb_points[6] = cp(xmax, ymin, zmax);
obb_points[7] = cp(xmax, ymax, zmax);
// Apply the inverse rotation to the rotated axis aligned bounding box
for(std::size_t i=0; i<8; ++i)