Solve bug on mac

This commit is contained in:
Léo Valque 2025-03-06 15:22:40 +01:00
parent 74d19c4778
commit 22d372b297
2 changed files with 6 additions and 18 deletions

View File

@ -55,7 +55,6 @@ struct Test
public:
Test() : nb_closed_pairs(0){ }
template<bool optimized_version>
void close_triangles(std::vector<P> &points, std::vector<boost::container::small_vector<std::size_t, 3> >& triangles, FT d2){
std::vector< CBox > boxes;
auto extend_bbox3=[&](const Iterator it, FT& d2){
@ -75,14 +74,9 @@ public:
if(v.size()!=0) //they have common vertices
return;
bool comp;
T tr1(points[a[0]], points[a[1]], points[a[2]]);
T tr2(points[b[0]], points[b[1]], points[b[2]]);
if constexpr(optimized_version)
comp = K().compare_squared_distance_3_object()(tr1, tr2, d2)!=CGAL::LARGER;
else
comp = Old_compare_squared_distance_3<K>()(tr1, tr2, d2)!=CGAL::LARGER;
bool comp = K().compare_squared_distance_3_object()(tr1, tr2, d2)!=CGAL::LARGER;
if(comp)
{
nb_closed_pairs++;
@ -108,15 +102,9 @@ public:
}
CGAL::Real_timer t;
t.start();
close_triangles<true>(input_points, input_triangles, d2);
close_triangles(input_points, input_triangles, d2);
t.stop();
std::cout << "New version: #points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " has " << nb_closed_pairs << " pairs at squared distance " << d2 << " in " << t.time() << " sec." << std::endl;
nb_closed_pairs=0;
t.reset();
t.start();
close_triangles<false>(input_points, input_triangles, d2);
t.stop();
std::cout << "Old version: #points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " has " << nb_closed_pairs << " pairs at squared distance " << d2 << " in " << t.time() << " sec." << std::endl;
std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " has " << nb_closed_pairs << " pairs at squared distance " << d2 << " in " << t.time() << " sec." << std::endl;
}
};

View File

@ -254,9 +254,9 @@ private:
{
std::cout << "Point - Tetrahedron\n";
//Degenerate Tetrahedron
check_compare_squared_distance (p(1, 1, 1), Tet(p(0, 0, 0), p( 3, 0, 0), p( 0, 3, 0), p( 3, 3, 0)), 1);
check_compare_squared_distance (p(1.5, 1.5, 0), Tet(p(0, 0, 0), p( 3, 0, 0), p( 0, 3, 0), p( 3, 3, 0)), 0);
check_compare_squared_distance (p(4, 4, 0), Tet(p(0, 0, 0), p( 3, 0, 0), p( 0, 3, 0), p( 3, 3, 0)), 2);
check_compare_squared_distance (p(2, 2, 2), Tet(p(0, 0, 0), p( 6, 0, 0), p( 0, 6, 0), p( 6, 6, 0)), 4);
check_compare_squared_distance (p(3, 3, 0), Tet(p(0, 0, 0), p( 6, 0, 0), p( 0, 6, 0), p( 6, 6, 0)), 0);
check_compare_squared_distance (p(8, 8, 0), Tet(p(0, 0, 0), p( 6, 0, 0), p( 0, 6, 0), p( 6, 6, 0)), 8);
//Inside Tetrahedron
check_compare_squared_distance (p(1, 1, 1), Tet(p(0, 0, 0), p( 3, 0, 0), p( 0, 3, 0), p( 0, 0, 3)), 0);