diff --git a/src/ifcgeom/kernels/cgal/nef_to_halfspace_tree.h b/src/ifcgeom/kernels/cgal/nef_to_halfspace_tree.h index c35d96d041..368e49a2d2 100644 --- a/src/ifcgeom/kernels/cgal/nef_to_halfspace_tree.h +++ b/src/ifcgeom/kernels/cgal/nef_to_halfspace_tree.h @@ -120,11 +120,9 @@ using plane_map = std::map>::Point_d; bool operator()(const Point_d& a, const Point_d& b) const { - for (int i = 0; i < 4; ++i) { - if (a[i] < b[i]) return true; - if (b[i] < a[i]) return false; - } - return false; + return std::lexicographical_compare( + a.cartesian_begin(), a.cartesian_end(), + b.cartesian_begin(), b.cartesian_end()); } };