Use constructor to initialize intersection_collector

This commit is contained in:
Thomas Krijnen
2020-09-02 15:16:37 +02:00
parent e15e5a2d20
commit ed9718af2a
+6 -1
View File
@@ -419,9 +419,14 @@ namespace {
}
struct intersection_collector {
const std::vector<Kernel_::Segment_3>& segments;
int num_self_intersections = 0;
explicit intersection_collector(const std::vector<Kernel_::Segment_3>& s)
: segments(s)
{}
void operator()(const Box& a, const Box& b) {
int aid = *a.handle();
int bid = *b.handle();
@@ -451,7 +456,7 @@ namespace {
for (auto it = segments.begin(); it != segments.end(); ++it) {
boxes.push_back(Box(it->bbox(), &*(handles.begin() + std::distance(segments.begin(), it))));
}
intersection_collector x{ segments };
intersection_collector x(segments);
CGAL::box_self_intersection_d(boxes.begin(), boxes.end(), x);
return !!x.num_self_intersections;
}