Merge remote-tracking branch 'cgal/6.0.x-branch' into master

This commit is contained in:
Sébastien Loriot 2025-04-16 18:53:33 +02:00
commit f975f7e4e0
7 changed files with 23 additions and 17 deletions

View File

@ -99,7 +99,7 @@ returns the squared length of `s`.
Kernel::FT squared_length() const;
/*!
returns the vector `s.target()` - `s`.`source()`.
returns the vector `s.target()` - `s.source()`.
*/
Vector_3<Kernel> to_vector() const;

View File

@ -9,9 +9,10 @@ find_package(CGAL REQUIRED)
include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND)
include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support)
message(STATUS "Found Eigen")
include(CGAL_Eigen3_support)
set(targets kinetic_partition)

View File

@ -5,18 +5,10 @@ cmake_minimum_required(VERSION 3.12...3.31)
project(Kinetic_space_partition_Tests)
set(CMAKE_CXX_STANDARD 17)
find_package(CGAL QUIET COMPONENTS Core)
find_package(CGAL REQUIRED)
include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED)
if(NOT Eigen3_FOUND)
message(ERROR "This project requires the Eigen library, and will not be compiled.")
return()
endif()
message(STATUS "Found Eigen")
include(CGAL_Eigen3_support)
set(targets kinetic_3d_test_all issue_8624)

View File

@ -9,9 +9,10 @@ find_package(CGAL REQUIRED)
include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND)
include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support)
message(STATUS "Found Eigen")
include(CGAL_Eigen3_support)
set(targets ksr_basic ksr_building ksr_parameters)

View File

@ -9,9 +9,10 @@ find_package(CGAL REQUIRED)
include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND)
include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support)
message(STATUS "Found Eigen")
include(CGAL_Eigen3_support)
set(targets ksr_test ksr_reorientation ksr_regularization)

View File

@ -1699,6 +1699,9 @@ private:
{
set_status(hf, MESH_BORDER); //only 1 or 2 of the listed halfedges
//will survive face removal, but status will be correct
set_status(opposite(hf, mesh_), PATCH_BORDER); //idem
//some of them will not survive but setting status
//is cheaper then checking which should be set
}
CGAL::Euler::remove_face(h, mesh_);
}

View File

@ -32,6 +32,10 @@
#include <boost/iterator/function_output_iterator.hpp>
#include <boost/container/small_vector.hpp>
#ifdef CGAL_DEBUG_DECIMATION
#include <CGAL/IO/polygon_soup_io.h>
#endif
#include <algorithm>
#include <unordered_map>
@ -243,7 +247,7 @@ bool is_edge_between_coplanar_faces(edge_descriptor e,
Point_ref_3 s = get(vpm, target(next(opposite(h, tm), tm), tm) );
if (coplanar_cos_threshold==-1)
return coplanar(p, q, r, s);
return coplanar(p, q, r, s) && coplanar_orientation(p, q, r, s)!=CGAL::POSITIVE;
else
{
typename Kernel::Compare_dihedral_angle_3 pred;
@ -848,6 +852,10 @@ bool decimate_impl(const TriangleMeshIn& tm_in,
if (!is_polygon_soup_a_polygon_mesh(faces))
{
#ifdef CGAL_DEBUG_DECIMATION
CGAL::IO::write_polygon_soup("soup.off", corners, faces);
std::cout << "the output is not a valid polygon mesh!" << std::endl;
#endif
return false;
}