Merge remote-tracking branch 'origin/master' into Kd_tree-nice_print-danston

This commit is contained in:
Dmitry Anisimov 2021-11-23 10:01:54 +01:00
commit 02c4575353
301 changed files with 632 additions and 745 deletions

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(AABB_tree_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(AABB_tree_Tests)
find_package(CGAL REQUIRED)
include(${CGAL_USE_FILE}) # Kept to test the old behaviour.
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Advancing_front_surface_reconstruction_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Advancing_front_surface_reconstruction_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_foundations_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_foundations_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_kernel_d_Examples)
find_package(CGAL REQUIRED COMPONENTS Core)
@ -6,7 +6,6 @@ find_package(CGAL REQUIRED COMPONENTS Core)
find_package(MPFI QUIET)
if(MPFI_FOUND AND NOT CGAL_DISABLE_GMP)
include(${CGAL_USE_FILE})
include(${MPFI_USE_FILE})
include(CGAL_VersionUtils)
create_single_source_cgal_program("Compare_1.cpp")

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_kernel_d_Tests)
# CGAL and its components
@ -28,8 +28,6 @@ endif()
# include for local directory
include_directories(BEFORE include)
include(${CGAL_USE_FILE})
# Creating entries for all .cpp/.C files with "main" routine
# ##########################################################

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_kernel_for_circles_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Algebraic_kernel_for_spheres_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Alpha_shapes_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Alpha_shapes_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Alpha_shapes_3_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Alpha_shapes_3_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Apollonius_graph_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Apollonius_graph_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Arithmetic_kernel_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
@ -10,7 +10,6 @@ find_package(GMP QUIET)
if(GMP_FOUND)
include(${CGAL_USE_FILE})
include(CGAL_VersionUtils)
get_dependency_version(GMP)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Arrangement_on_surface_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -28,7 +28,7 @@
#include <list>
#include <map>
#include <CGAL/N_step_adaptor_derived.h>
#include <CGAL/Compact_container.h>
#include <CGAL/In_place_list.h>
#include <CGAL/function_objects.h>
#include <CGAL/Iterator_project.h>
#include <CGAL/Arrangement_2/Arrangement_2_iterators.h>
@ -91,9 +91,6 @@ public:
/*! Destructor. */
virtual ~Arr_vertex_base() {}
void* for_compact_container() const { return static_cast<void*>(p_pt); }
void for_compact_container(void* ptr) { p_pt = static_cast<Point*>(ptr); }
// Access/modification for pointer squatting
void* inc() const { return p_inc; }
void set_inc(void * inc) const
@ -186,9 +183,6 @@ public:
/*! Destructor. */
virtual ~Arr_halfedge_base() {}
void* for_compact_container() const { return static_cast<void*>(p_cv); }
void for_compact_container(void* ptr) { p_cv = static_cast<X_monotone_curve*>(ptr); }
/*! Check if the curve pointer is nullptr. */
bool has_null_curve() const { return (p_cv == nullptr); }
@ -290,7 +284,7 @@ template <class V, class H, class F> class Arr_isolated_vertex;
* The default arrangement DCEL vertex class.
*/
template <class V, class H, class F>
class Arr_vertex : public V
class Arr_vertex : public V, public In_place_list_base<Arr_vertex<V,H,F> >
{
public:
@ -357,7 +351,8 @@ public:
* The default arrangement DCEL halfedge class.
*/
template <class V, class H, class F>
class Arr_halfedge : public H
class Arr_halfedge : public H,
public In_place_list_base<Arr_halfedge<V,H,F> >
{
public:
typedef H Base;
@ -537,7 +532,7 @@ public:
*/
template <class V, class H, class F>
class Arr_face : public F,
public Compact_container_base
public In_place_list_base<Arr_face<V,H,F> >
{
public:
typedef F Base;
@ -728,7 +723,7 @@ public:
* Representation of an outer CCB.
*/
template <class V, class H, class F>
class Arr_outer_ccb {
class Arr_outer_ccb : public In_place_list_base<Arr_outer_ccb<V,H,F> > {
public:
typedef Arr_outer_ccb<V,H,F> Self;
typedef Arr_halfedge<V,H,F> Halfedge;
@ -749,9 +744,6 @@ public:
p_f(other.p_f), iter_is_not_singular(other.iter_is_not_singular)
{ if (other.iter_is_not_singular) iter = other.iter; }
void* for_compact_container() const { return static_cast<void*>(p_f); }
void for_compact_container(void* ptr) { p_f = static_cast<Face*>(ptr); }
/*! Obtain a halfedge along the component (const version). */
const Halfedge* halfedge() const { return (*iter); }
@ -796,7 +788,7 @@ public:
* Representation of an inner CCB.
*/
template <class V, class H, class F>
class Arr_inner_ccb : public Compact_container_base
class Arr_inner_ccb : public In_place_list_base<Arr_inner_ccb<V,H,F> >
{
public:
typedef Arr_inner_ccb<V,H,F> Self;
@ -916,7 +908,8 @@ public:
* Representation of an isolated vertex.
*/
template <class V, class H, class F>
class Arr_isolated_vertex {
class Arr_isolated_vertex :
public In_place_list_base<Arr_isolated_vertex<V,H,F> > {
public:
typedef Arr_isolated_vertex<V,H,F> Self;
typedef Arr_face<V,H,F> Face;
@ -936,9 +929,6 @@ public:
p_f(other.p_f), iter_is_not_singular(other.iter_is_not_singular)
{ if (other.iter_is_not_singular) iv_it = other.iv_it; }
void* for_compact_container() const { return static_cast<void*>(p_f); }
void for_compact_container(void* ptr) { p_f = static_cast<Face*>(ptr); }
/*! Obtain the containing face (const version). */
const Face* face() const { return (p_f); }
@ -989,6 +979,13 @@ public:
typedef Inner_ccb Hole;
protected:
// The vetices, halfedges and faces are stored in three in-place lists.
typedef In_place_list<Vertex, false> Vertex_list;
typedef In_place_list<Halfedge, false> Halfedge_list;
typedef In_place_list<Face, false> Face_list;
typedef In_place_list<Outer_ccb, false> Outer_ccb_list;
typedef In_place_list<Inner_ccb, false> Inner_ccb_list;
typedef In_place_list<Isolated_vertex, false> Iso_vert_list;
typedef std::allocator_traits<Allocator> Allocator_traits;
typedef typename Allocator_traits::template rebind_alloc<Vertex> Vertex_allocator;
@ -998,13 +995,6 @@ protected:
typedef typename Allocator_traits::template rebind_alloc<Inner_ccb> Inner_ccb_allocator;
typedef typename Allocator_traits::template rebind_alloc<Isolated_vertex> Iso_vert_allocator;
typedef Compact_container<Vertex, Vertex_allocator> Vertex_list;
typedef Compact_container<Halfedge, Halfedge_allocator> Halfedge_list;
typedef Compact_container<Face, Face_allocator> Face_list;
typedef Compact_container<Outer_ccb, Outer_ccb_allocator> Outer_ccb_list;
typedef Compact_container<Inner_ccb, Inner_ccb_allocator> Inner_ccb_list;
typedef Compact_container<Isolated_vertex, Iso_vert_allocator> Iso_vert_list;
public:
typedef typename Halfedge_list::size_type Size;
typedef typename Halfedge_list::size_type size_type;
@ -1021,6 +1011,13 @@ protected:
Inner_ccb_list in_ccbs; // The inner CCBs.
Iso_vert_list iso_verts; // The isolated vertices.
Vertex_allocator vertex_alloc; // An allocator for vertices.
Halfedge_allocator halfedge_alloc; // An allocator for halfedges.
Face_allocator face_alloc; // An allocator for faces.
Outer_ccb_allocator out_ccb_alloc; // An allocator for outer CCBs.
Inner_ccb_allocator in_ccb_alloc; // An allocator for inner CCBs.
Iso_vert_allocator iso_vert_alloc; // Allocator for isolated vertices.
public:
// Definitions of iterators.
typedef typename Vertex_list::iterator Vertex_iterator;
@ -1147,7 +1144,10 @@ public:
/*! Create a new vertex. */
Vertex* new_vertex()
{
return &*vertices.emplace();
Vertex* v = vertex_alloc.allocate(1);
std::allocator_traits<Vertex_allocator>::construct(vertex_alloc,v);
vertices.push_back(*v);
return v;
}
/*! Create a new pair of opposite halfedges. */
@ -1167,25 +1167,37 @@ public:
/*! Create a new face. */
Face* new_face()
{
return &*faces.emplace();
Face* f = face_alloc.allocate(1);
std::allocator_traits<Face_allocator>::construct(face_alloc, f);
faces.push_back (*f);
return(f);
}
/*! Create a new outer CCB. */
Outer_ccb* new_outer_ccb()
{
return &*out_ccbs.emplace();
Outer_ccb* oc = out_ccb_alloc.allocate(1);
std::allocator_traits<Outer_ccb_allocator>::construct(out_ccb_alloc, oc);
out_ccbs.push_back(*oc);
return (oc);
}
/*! Create a new inner CCB. */
Inner_ccb* new_inner_ccb()
{
return &*in_ccbs.emplace();
Inner_ccb* ic = in_ccb_alloc.allocate(1);
std::allocator_traits<Inner_ccb_allocator>::construct(in_ccb_alloc, ic);
in_ccbs.push_back(*ic);
return (ic);
}
/*! Create a new isolated vertex. */
Isolated_vertex* new_isolated_vertex()
{
return &*iso_verts.emplace();
Isolated_vertex* iv = iso_vert_alloc.allocate(1);
std::allocator_traits<Iso_vert_allocator>::construct(iso_vert_alloc, iv);
iso_verts.push_back(*iv);
return (iv);
}
//@}
@ -1194,7 +1206,9 @@ public:
/*! Delete an existing vertex. */
void delete_vertex(Vertex* v)
{
vertices.erase (vertices.iterator_to(*v));
vertices.erase(v);
std::allocator_traits<Vertex_allocator>::destroy(vertex_alloc, v);
vertex_alloc.deallocate(v,1);
}
/*! Delete an existing pair of opposite halfedges. */
@ -1208,25 +1222,33 @@ public:
/*! Delete an existing face. */
void delete_face(Face* f)
{
faces.erase (faces.iterator_to(*f));
faces.erase(f);
std::allocator_traits<Face_allocator>::destroy(face_alloc, f);
face_alloc.deallocate(f, 1);
}
/*! Delete an existing outer CCB. */
void delete_outer_ccb(Outer_ccb* oc)
{
out_ccbs.erase (out_ccbs.iterator_to(*oc));
out_ccbs.erase(oc);
std::allocator_traits<Outer_ccb_allocator>::destroy(out_ccb_alloc, oc);
out_ccb_alloc.deallocate(oc, 1);
}
/*! Delete an existing inner CCB. */
void delete_inner_ccb(Inner_ccb* ic)
{
in_ccbs.erase (in_ccbs.iterator_to(*ic));
in_ccbs.erase(ic);
std::allocator_traits<Inner_ccb_allocator>::destroy(in_ccb_alloc, ic);
in_ccb_alloc.deallocate(ic, 1);
}
/*! Delete an existing isolated vertex. */
void delete_isolated_vertex(Isolated_vertex* iv)
{
iso_verts.erase (iso_verts.iterator_to(*iv));
iso_verts.erase(iv);
std::allocator_traits<Iso_vert_allocator>::destroy(iso_vert_alloc, iv);
iso_vert_alloc.deallocate(iv, 1);
}
/*! Delete all DCEL features. */
@ -1485,13 +1507,18 @@ protected:
/*! Create a new halfedge. */
Halfedge* _new_halfedge()
{
return &*halfedges.emplace();
Halfedge* h = halfedge_alloc.allocate(1);
std::allocator_traits<Halfedge_allocator>::construct(halfedge_alloc, h);
halfedges.push_back(*h);
return (h);
}
/*! Delete an existing halfedge. */
void _delete_halfedge(Halfedge* h)
{
halfedges.erase (halfedges.iterator_to(*h));
halfedges.erase(h);
std::allocator_traits<Halfedge_allocator>::destroy(halfedge_alloc,h);
halfedge_alloc.deallocate(h, 1);
}
};

View File

@ -202,7 +202,7 @@ public:
// Invalid arc:
if (dir_res == EQUAL) return;
this->_info = (Conic_arc_2::IS_VALID | DEGREE_1);
this->_info = (static_cast<int>(Conic_arc_2::IS_VALID) | static_cast<int>(DEGREE_1));
if (dir_res == SMALLER)
this->_info = (this->_info | IS_DIRECTED_RIGHT);

View File

@ -1,14 +1,14 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Arrangement_on_surface_2_Tests)
enable_testing()
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include (${CGAL_USE_FILE})
# Since CMake-2.8.12: New CMake script, that defines the targets and
# the CTest test cases.
include(${CMAKE_CURRENT_SOURCE_DIR}/cgal_test.cmake)

View File

@ -151,6 +151,10 @@ function(cgal_arr_2_add_target exe_name source_file)
set(name ${exe_name}_${suffix})
endif()
add_executable(${name} ${source_file})
target_link_libraries(${name} CGAL::CGAL)
if (TARGET CGAL::CGAL_Core)
target_link_libraries(${name} CGAL::CGAL_Core)
endif()
add_to_cached_list( CGAL_EXECUTABLE_TARGETS ${name} )
separate_arguments(flags UNIX_COMMAND "${TESTSUITE_CXXFLAGS}")
target_compile_options(${name} PRIVATE ${flags})

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_LCC_Examples)
# CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_OpenMesh_Examples)
# CGAL and its components

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_arrangement_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_graphcut_Examples)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_polyhedron_3_Examples)
# CGAL and its components

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_surface_mesh_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_triangulation_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -335,7 +335,7 @@ bool write_PLY(std::ostream& os,
typedef typename CGAL::GetInitializedVertexIndexMap<Graph, CGAL_BGL_NP_CLASS>::const_type VIMap;
typedef typename GetVertexPointMap<Graph, CGAL_BGL_NP_CLASS>::const_type Vpm;
typedef typename boost::property_traits<Vpm>::reference Point_3;
typedef typename boost::property_traits<Vpm>::value_type Point_3;
typedef CGAL::IO::Color Color;
typedef typename internal_np::Lookup_named_param_def<
internal_np::vertex_color_map_t,
@ -407,7 +407,7 @@ bool write_PLY(std::ostream& os,
for(vertex_descriptor vd : vertices(g))
{
Point_3 p = get(vpm, vd);
const Point_3& p = get(vpm, vd);
internal::output_properties(os, &p, make_ply_point_writer (CGAL::Identity_property_map<Point_3>()));
if(has_vcolor)
{

View File

@ -309,23 +309,26 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
template<typename PointRange,
typename NamedParameters = Named_function_parameters<bool, internal_np::all_default_t>,
bool has_nested_iterator = internal::Has_nested_type_iterator<PointRange>::value>
bool has_nested_iterator = internal::Has_nested_type_iterator<PointRange>::value,
typename NP_TAG = internal_np::point_t
>
class GetPointMap
{
typedef typename std::iterator_traits<typename PointRange::iterator>::value_type Point;
typedef typename CGAL::Identity_property_map<Point> DefaultPMap;
typedef typename CGAL::Identity_property_map<const Point> DefaultConstPMap;
public:
typedef typename internal_np::Lookup_named_param_def<
internal_np::point_t,
NP_TAG,
NamedParameters,
DefaultPMap
> ::type type;
typedef typename internal_np::Lookup_named_param_def<
internal_np::point_t,
NP_TAG,
NamedParameters,
DefaultPMap
DefaultConstPMap
> ::type const_type;
};
@ -336,7 +339,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
struct Dummy_point{};
public:
typedef typename CGAL::Identity_property_map<Dummy_point> type;
typedef typename CGAL::Identity_property_map<Dummy_point> const_type;
typedef typename CGAL::Identity_property_map<const Dummy_point> const_type;
};
namespace Point_set_processing_3 {
@ -375,26 +378,6 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
>::Kernel::FT type;
};
template<typename PointRange, typename NamedParameters>
class GetQueryPointMap
{
typedef typename std::iterator_traits<typename PointRange::iterator>::value_type Point;
typedef typename CGAL::Identity_property_map<Point> DefaultPMap;
public:
typedef typename internal_np::Lookup_named_param_def<
internal_np::query_point_t,
NamedParameters,
DefaultPMap
> ::type type;
typedef typename internal_np::Lookup_named_param_def<
internal_np::query_point_t,
NamedParameters,
DefaultPMap
> ::type const_type;
};
template<typename PointRange, typename NamedParameters>
class GetK
{
@ -440,6 +423,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
{
typedef typename PlaneRange::iterator::value_type Plane;
typedef typename CGAL::Identity_property_map<Plane> DefaultPMap;
typedef typename CGAL::Identity_property_map<const Plane> DefaultConstPMap;
public:
typedef typename internal_np::Lookup_named_param_def<
@ -451,7 +435,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
typedef typename internal_np::Lookup_named_param_def<
internal_np::plane_t,
NamedParameters,
DefaultPMap
DefaultConstPMap
> ::type const_type;
};

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script_with_options
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(BGL_Tests)
# CGAL and its components

View File

@ -13,8 +13,7 @@ elements, which share common edges and vertices. These finite elements are then
used to approximate certain types of generalized barycentric coordinate functions.
The domain is bounded by the polygon.
\cgalHasModel
- `Delaunay_domain_2`
\cgalHasModel `Delaunay_domain_2`
*/
class DiscretizedDomain_2 {

View File

@ -3,12 +3,10 @@
project(Barycentric_coordinates_2_Examples)
cmake_minimum_required(VERSION 3.1...3.15)
cmake_minimum_required(VERSION 3.1...3.22)
set(CMAKE_CXX_STANDARD 14)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("segment_coordinates.cpp")
create_single_source_cgal_program("triangle_coordinates.cpp")

View File

@ -3,12 +3,10 @@
project(Barycentric_coordinates_2_Tests)
cmake_minimum_required(VERSION 3.1...3.15)
cmake_minimum_required(VERSION 3.1...3.22)
set(CMAKE_CXX_STANDARD 14)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("test_almost_degenerate_segment.cpp")
create_single_source_cgal_program("test_segment_coordinates.cpp")

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Boolean_set_operations_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt5)

View File

@ -78,7 +78,7 @@ void draw(const CGAL::Polygon_set_2<T, C>& aps2,
{
CGAL::Qt::init_ogl_context(4,3);
int argc=1;
const char* argv[2]={"t2_viewer","\0"};
const char* argv[2]={"t2_viewer", nullptr};
QApplication app(argc,const_cast<char**>(argv));
SimplePolygonSet2ViewerQt<CGAL::Polygon_set_2<T, C> >
mainwindow(app.activeWindow(), aps2, title);

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Boolean_set_operations_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Approximate_min_ellipsoid_d_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_annulus_d_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_circle_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_ellipse_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_quadrilateral_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_sphere_d_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Min_sphere_of_spheres_d_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Rectangular_p_center_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Bounding_volumes_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# Use Eigen
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
include(CGAL_Eigen3_support)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Box_intersection_d_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Box_intersection_d_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Core_Examples)
# CGAL and its components
@ -25,11 +25,6 @@ if(NOT Boost_FOUND)
endif()
# include for local directory
# include for local package
include(${CGAL_USE_FILE})
# Creating entries for all .cpp/.C files with "main" routine
# ##########################################################

View File

@ -423,7 +423,7 @@ inline std::string BigFloatRep::toString(long prec, bool sci) const {
else
return r.rep;
}
return nullptr;
return std::string();
}
inline void BigFloatRep::dump() const {

View File

@ -1,17 +1,12 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(CGALimageIO_Examples)
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
find_package(CGAL REQUIRED COMPONENTS ImageIO)
if(CGAL_ImageIO_FOUND)
include(${CGAL_USE_FILE})
create_single_source_cgal_program("convert_raw_image_to_inr.cpp")
create_single_source_cgal_program("test_imageio.cpp")

View File

@ -1,17 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(CGAL_ImageIO_Tests)
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
find_package(CGAL REQUIRED COMPONENTS ImageIO)
include(${CGAL_USE_FILE})
if(WITH_CGAL_ImageIO)
create_single_source_cgal_program("test_trilinear_interpolation.cpp")
else()

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(CGAL_ipelets_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circular_kernel_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circular_kernel_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circular_kernel_3_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circular_kernel_3_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include_directories(BEFORE include)
# The following `include_directories` is used in the git layout

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circulator_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Circulator_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Classification_Examples)
# CGAL and its components

View File

@ -73,7 +73,9 @@ class Point_set_neighborhood
My_point_property_map (const PointRange *input, PointMap point_map)
: input (input), point_map (point_map) { }
friend reference get (const My_point_property_map& ppmap, key_type i)
// we did not put `reference` here on purpose as the recommanded default
// is `Identity_property_map<Point_3>` and not `Identity_property_map<const Point_3>`
friend decltype(auto) get (const My_point_property_map& ppmap, key_type i)
{ return get(ppmap.point_map, *(ppmap.input->begin()+std::size_t(i))); }
};

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Classification_Tests)
# CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Combinatorial_map_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Combinatorial_map_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,8 +1,7 @@
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Cone_spanners_2_Examples)
find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core)
include(${CGAL_USE_FILE})
find_package(LEDA QUIET)
if(CGAL_Core_FOUND OR LEDA_FOUND)

View File

@ -1,13 +1,12 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Cone_spanners_2_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
if(CGAL_Core_FOUND)
include(${CGAL_USE_FILE})
include_directories(BEFORE "include")
# create a target per cppfile

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_decomposition_3_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_decomposition_3_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_hull_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_hull_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_hull_3_Examples)
# CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_hull_3_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Convex_hull_d_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Distance_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Distance_3_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Envelope_2_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Envelope_2_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Envelope_3_Examples)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -1,13 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Envelope_3_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
# create a target per cppfile
file(
GLOB cppfiles

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Filtered_kernel_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Filtered_kernel_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Generalized_map_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Generalized_map_Tests)
# CGAL and its components

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Generator_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Generator_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Geomview_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(HalfedgeDS_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(HalfedgeDS_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Hash_map_Tests)
find_package(CGAL REQUIRED)

View File

@ -9,7 +9,7 @@
/*!
\addtogroup PkgHeatMethod
\cgalPkgDescriptionBegin{The Heat Method,PkgHeatMethodSummary}
\cgalPkgDescriptionBegin{The Heat Method,PkgHeatMethod}
\cgalPkgPicture{heat-method-small.png}
\cgalPkgSummaryBegin

View File

@ -1,15 +1,12 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Heat_method_3_Examples)
# CGAL and its components
find_package(CGAL REQUIRED)
# include helper file
include(${CGAL_USE_FILE})
# Boost and its components
find_package(Boost REQUIRED)
@ -39,8 +36,6 @@ include_directories(BEFORE include)
# Creating entries for all C++ files with "main" routine
# ##########################################################
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("heat_method.cpp")
target_link_libraries(heat_method PUBLIC CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_polyhedron.cpp")

View File

@ -1,15 +1,12 @@
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Heat_method_3_Tests)
# CGAL and its components
find_package(CGAL REQUIRED)
# include helper file
include(${CGAL_USE_FILE})
# Boost and its components
find_package(Boost REQUIRED)
@ -39,8 +36,6 @@ include_directories(BEFORE include)
# Creating entries for all C++ files with "main" routine
# ##########################################################
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("heat_method_concept.cpp")
target_link_libraries(heat_method_concept PUBLIC CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh_test.cpp")

View File

@ -36,6 +36,9 @@ if(CGAL_Qt5_FOUND
else()
target_link_libraries ( HDT2 ${LEDA_LIBRARIES})
endif()
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test( HDT2 )
else()
message(
STATUS

View File

@ -1,14 +1,10 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Hyperbolic_triangulation_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("ht2_example.cpp")
create_single_source_cgal_program("ht2_example_color.cpp")

View File

@ -1,15 +1,11 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Hyperbolic_triangulation_2_Tests)
find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
include(CGAL_CreateSingleSourceCGALProgram)
create_single_source_cgal_program("ht2_test_clear.cpp")
create_single_source_cgal_program("ht2_test_locate.cpp")
create_single_source_cgal_program("ht2_test_remove.cpp")

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Inscribed_areas_Examples)
find_package(CGAL REQUIRED)

View File

@ -1,7 +1,7 @@
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.20)
cmake_minimum_required(VERSION 3.1...3.22)
project(Inscribed_areas_Tests)
find_package(CGAL REQUIRED)

View File

@ -1,87 +1,21 @@
Release History
===============
[Release 5.4](https://github.com/CGAL/cgal/releases/tag/v5.4)
-----------
Release date: December 2021
### General changes
- Added the cmake target `CGAL::CGAL_Basic_viewer` to ease the compilation of programs using
the basic viewer based function `CGAL::draw`. This target will define the macro and link with
`CGAL_Qt5` target when linked with it.
### [General changes](https://doc.cgal.org/5.4/Manual/general_intro.html)
- The kernel providing exact constructions and exact predicates (`Exact_predicates_exact_constructions_kernel`)
has been made thread-safe. See changes in 2D and 3D Linear Geometry Kernel
for more details.
### [Weights](https://doc.cgal.org/5.4/Manual/packages.html#PkgWeights) (new package)
- Added the cmake target `CGAL::CGAL_Basic_viewer` to ease the compilation of programs using
the basic viewer-based function `CGAL::draw()`. This target will define the macro and link with
`CGAL_Qt5` target when linked with it.
- This package provides a simple and unified interface to different types of weights.
In particular, it groups all weights into three category: analytic weights including
all basic weights which can be computed analytically for a query point with respect to its
local neighbors in 2D and 3D; barycentric weights including all weights which can be computed
for a query point with respect to the vertices of a planar polygon; and weighting regions
including all weights which are used to balance other weights.
### [2D Generalized Barycentric Coordinates](https://doc.cgal.org/5.4/Manual/packages.html#PkgBarycentricCoordinates2) (breaking change, major changes)
- **Breaking change**: The headers `Segment_coordinates_2.h` and `Triangle_coordinates_2.h` are
renamed to `segment_coordinates_2.h` and `triangle_coordinates_2.h`.
- The classes `Segment_coordinates_2` and `Triangle_coordinates_2` are deprecated. The free functions
`compute_segment_coordinates_2()` and `compute_triangle_coordinates_2()` are deprecated as well.
Instead, the free functions `segment_coordinates_2()` and `triangle_coordinates_2()` must be used.
- The enums `Query_point_location` and `Type_of_algorithm` are deprecated. Instead, the enum
`Computation_policy_2` must be used.
- The clases `Wachspress_2`, `Discrete_harmonic_2`, `Mean_value_2`, and
`Generalized_barycentric_coordinates_2` are deprecated. As consequence, the concept `BarycentricCoordinates_2` is deprecated as well. Instead, the classes `Wachspress_coordinates_2`,
`Discrete_harmonic_coordinates_2`, and `Mean_value_coordinates_2` must be used.
- Added the class `Harmonic_coordinates_2` for computing approximate harmonic coordinates in 2D.
These coordinates satisfy all properties of barycentric coordinates inside any simple polygon.
- Added a new concept `DiscretizedDomain_2` and a model of this concept called `Delaunay_domain_2`
which is based on the [Mesh 2](https://doc.cgal.org/5.4/Manual/packages.html#PkgMesh2) package.
A model of this concept is required for computing `Harmonic_coordinates_2`.
- Added free functions for computing Wachspress, discrete harmonic, and mean value coordinates.
- All free functions and classes are now using ranges and property maps.
### [2D and 3D Linear Geometry Kernel](https://doc.cgal.org/5.4/Manual/packages.html#PkgKernel23)
- Added `construct_centroid_2_object()` and `compute_determinant_2_object()` in `Projection_traits_xy_3`, `Projection_traits_xz_3`,
and `Projection_traits_yz_3` classes.
- Added documentation for the class `Projection_traits_3`, which enables the use of 2D algorithms on the projections of 3D data onto an arbitrary plane.
- Most operations on `Exact_predicates_exact_constructions_kernel` objects are now thread-safe
if `CGAL::Exact_rational` is `mpq_class` (from `GMPXX`), `boost::multiprecision::mpq_rational` or
`CGAL::Quotient<CGAL::MP_Float>`. The objects are not atomic though, so the usual restrictions
on avoiding race conditions apply. For users who do not use threads, this can be disabled with `CGAL_HAS_NO_THREADS`.
### [dD Kernel](https://doc.cgal.org/5.4/Manual/packages.html#PkgKernelD)
- Most operations on `Epeck_d` objects are now thread-safe, see 2D and 3D Linear Geometry Kernel for details.
### [Polygon Mesh Processing](https://doc.cgal.org/5.4/Manual/packages.html#PkgPolygonMeshProcessing)
- Added the function `CGAL::Polygon_mesh_processing::match_faces()`, which, given two polygon meshes,
identifies their common faces as well as faces present in only either of them.
- Added the functions: `CGAL::Polygon_mesh_processing::bounded_error_Hausdorff_distance()` that
computes an estimate of the one-sided Hausdorff distance between two triangle meshes which
is bounded by a user-specified error bound; `CGAL::Polygon_mesh_processing::bounded_error_symmetric_Hausdorff_distance()` that computes
an estimate of the symmetric Hausdorff distance bounded by a user-specified error bound;
and `CGAL::Polygon_mesh_processing::is_Hausdorff_distance_larger()` that returns `true`
if the bounded-error Hausdorff distance between two meshes is larger than the user-specified
max distance.
- Added the functions `CGAL::Polygon_mesh_processing::squared_edge_length()`
and `CGAL::Polygon_mesh_processing::squared_face_area()` which do not perform a `sqrt()` operation.
- Added more functions in the [visitor of the corefinement based methods](https://doc.cgal.org/5.4/Polygon_mesh_processing/classPMPCorefinementVisitor.html)
to track all vertex creations.
- Added an option to [`CGAL::Polygon_mesh_processing::self_intersections()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__PMP__intersection__grp.html#gaf19c80ec12cbff7ebe9e69453f1d40b8) to report only a limited number of intersections (`maximum_number()`)
### [The Heat Method](https://doc.cgal.org/5.4/Manual/packages.html#PkgHeatMethod)
- **Breaking change**: Added the functor `Compute_squared_length_3` that has an operator `operator(const Vector_3& v)`, which computes the squared length of `v`, to the `HeatMethodTraits_3` concept.
- The kernel providing exact constructions and exact predicates
([`CGAL::Exact_predicates_exact_constructions_kernel`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Exact__predicates__exact__constructions__kernel.html))
is now thread-safe.
See changes in `2D and 3D Linear Geometry Kernel` for more details.
### [Shape Regularization](https://doc.cgal.org/5.4/Manual/packages.html#PkgShapeRegularization) (new package)
@ -90,36 +24,91 @@ Release date: December 2021
user-specified conditions. In addition, it provides a global regularization framework that can be
adjusted for the user needs and any type of geometric objects.
### [dD Spatial Searching](https://doc.cgal.org/5.4/Manual/packages.html#PkgSpatialSearchingD)
### [Weights](https://doc.cgal.org/5.4/Manual/packages.html#PkgWeights) (new package)
- The kd-tree has a new print method now that enables to output the tree in the stream in the [Graphviz](https://graphviz.org/) format.
- This package provides a simple and unified interface to different types of weights.
In particular, it groups all weights into three category: analytic weights including
all basic weights which can be computed analytically for a query point with respect to its
local neighbors in 2D and 3D; barycentric weights, including all weights which can be computed
for a query point with respect to the vertices of a planar polygon; and weighting regions,
including all weights which are used to balance other weights.
### [CGAL and Solvers](https://doc.cgal.org/5.4/Manual/packages.html#PkgSolverInterface)
### [2D Generalized Barycentric Coordinates](https://doc.cgal.org/5.4/Manual/packages.html#PkgBarycentricCoordinates2) (major changes)
- Added the [OSQP solver](https://osqp.org/) support. This solver enables to efficiently compute the convex Quadratic Programming (QP) problems arising in the context of several packages.
- **Breaking change**: The headers `Segment_coordinates_2.h` and `Triangle_coordinates_2.h` are
renamed to `segment_coordinates_2.h` and `triangle_coordinates_2.h`.
- The classes [`Segment_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Segment__coordinates__2.html)
and [`Triangle_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Triangle__coordinates__2.html)
are deprecated. The free functions [`compute_segment_coordinates_2()`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Segment__coordinates__2.html#a134d363dccaeecb5621fa608fac76eaf)
and [`compute_triangle_coordinates_2()`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Triangle__coordinates__2.html#a958fee3ad9613d7bfa9d7a976aa3548f)
are deprecated as well. Instead, the free functions [`segment_coordinates_2()`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/group__PkgBarycentricCoordinates2RefFunctions.html#gab856ca68d37f58e6cdf74c8aac6f4245)
and [`triangle_coordinates_2()`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/group__PkgBarycentricCoordinates2RefFunctions.html#gaa378786f8996dbcefe7923ebb711e4dd)
should be used.
- The enums [`Query_point_location`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/namespaceCGAL_1_1Barycentric__coordinates.html#aedeeb072a2024053a016afd15e591331)
and [`Type_of_algorithm`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/namespaceCGAL_1_1Barycentric__coordinates.html#a5e5682512438422f23d6080edc49c05b)
are deprecated. Instead, the enum [`Computation_policy_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/namespaceCGAL_1_1Barycentric__coordinates.html#a478bbcec416216b2274ee4b4e97b0e6c)
should be used.
- The classes [`Wachspress_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Wachspress__2.html),
[`Discrete_harmonic_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Discrete__harmonic__2.html),
[`Mean_value_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Mean__value__2.html),
and [`Generalized_barycentric_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Generalized__barycentric__coordinates__2.html)
are deprecated. As consequence, the concept [`BarycentricCoordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1BarycentricCoordinates__2.html)
is deprecated as well. Instead, the classes [`Wachspress_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Wachspress__coordinates__2.html),
[`Discrete_harmonic_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Discrete__harmonic__coordinates__2.html),
and [`Mean_value_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Mean__value__coordinates__2.html)
should be used.
- Added the class [`Harmonic_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Harmonic__coordinates__2.html)
to compute approximate harmonic coordinates in 2D.
These coordinates satisfy all properties of barycentric coordinates inside any simple polygon.
- Added a new concept [`DiscretizedDomain_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1DiscretizedDomain__2.html)
and a model of this concept called [`Delaunay_domain_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Delaunay__domain__2.html),
which is based on the [Mesh 2](https://doc.cgal.org/5.4/Manual/packages.html#PkgMesh2) package.
A model of this concept is required to use [`Harmonic_coordinates_2`](https://doc.cgal.org/5.4/Barycentric_coordinates_2/classCGAL_1_1Barycentric__coordinates_1_1Harmonic__coordinates__2.html).
- Added free functions to compute Wachspress, discrete harmonic, and mean value coordinates.
- All free functions and classes are now using ranges and property maps.
### [2D and 3D Linear Geometry Kernel](https://doc.cgal.org/5.4/Manual/packages.html#PkgKernel23)
- Most operations on [`CGAL::Exact_predicates_exact_constructions_kernel`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Exact__predicates__exact__constructions__kernel.html)
objects are now thread-safe if [`CGAL::Exact_rational`](https://doc.cgal.org/5.4/Number_types/group__nt__cgal.html#ga0849ff44771b19582218ebdfa5614f64)
is [`mpq_class`](https://doc.cgal.org/5.3/Number_types/classmpq__class.html) (from `GMPXX`),
`boost::multiprecision::mpq_rational`
or [`CGAL::Quotient<CGAL::MP_Float>`](https://doc.cgal.org/5.3/Number_types/classCGAL_1_1MP__Float.html).
The objects are not atomic though, so the usual restrictions on avoiding race conditions apply.
For users who do not use threads, this can be disabled with `CGAL_HAS_NO_THREADS`.
- Added documentation for the class [`Projection_traits_3`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Projection__traits__3.html),
which enables the use of 2D algorithms on the projections of 3D data onto an arbitrary plane.
- Added `construct_centroid_2_object()` and `compute_determinant_2_object()`
in [`Projection_traits_xy_3`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Projection__traits__xy__3.html),
[`Projection_traits_xz_3`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Projection__traits__xz__3.html),
and [`Projection_traits_yz_3`](https://doc.cgal.org/5.4/Kernel_23/classCGAL_1_1Projection__traits__yz__3.html)
classes.
- Added the functor
[`NonZeroCoordinateIndex_3`](https://doc.cgal.org/5.4/Kernel_23/classKernel_1_1NonZeroCoordinateIndex__3.html)
to the concept [`Kernel`](https://doc.cgal.org/5.4/Kernel_23/classKernel.html) with `int operator()(Vector_3)`
which returns the index of any coordinate of the vector different from zero, or `-1`.
### [dD Kernel](https://doc.cgal.org/5.4/Manual/packages.html#PkgKernelD)
- Most operations on [`Epeck_d`](https://doc.cgal.org/5.4/Kernel_d/structCGAL_1_1Epeck__d.html)
objects are now thread-safe, see 2D and 3D Linear Geometry Kernel for details.
### [2D Arrangements](https://doc.cgal.org/5.4/Manual/packages.html#PkgArrangementOnSurface2)
- A new hierarchy of traits concepts is introduced.
- **Breaking Change:** The traits function objects `Compare_x_at_limit_2` and `Compare_x_near_limit_2`
are renamed to `Compare_x_on_boundary_2` and `Compare_x_near_boundary_2`, respectively.
- A [new hierarchy of traits concepts](https://doc.cgal.org/5.4/Arrangement_on_surface_2/group__PkgArrangementOnSurface2Concepts.html)
has been introduced.
It captures all the valid combinations of boundary conditions for the 4 boundary sides of the parameter space.
The 4 boundaries are Bottom, Top, Left, and Right. Each boundary side can be either contracted, identified, close, open, or oblivious.
Not all possible combinations are valid. If one side is identified then the other must be as well. Two adjacent sides cannot be contracted.
- **Breaking Change:** The traits function objects `Compare_x_at_limit_2` and `Compare_x_near_limit_2` are renamed to `Compare_x_on_boundary_2` and `Compare_x_near_boundary_2`, respectively.
- A new geometry traits , namely, `Arr_geodesic_arc_on_sphere_traits_2`, is introduced. It handles arcs of great circles embedded on the unit sphere.
### [Point Set Processing](https://doc.cgal.org/5.4/Manual/packages.html#PkgPointSetProcessing3)
- Added support for `libpointmatcher::GenericDescriptorOutlierFilter`
that enables to provide a map from a point to a weight associated with this point.
### [Shape Detection](https://doc.cgal.org/5.4/Manual/packages.html#PkgShapeDetection)
- Added new shapes to the Region Growing algorithm on a point set: circles in 2D, spheres in 3D,
and cylinders in 3D.
- A new geometric traits, [`Arr_geodesic_arc_on_sphere_traits_2`](https://doc.cgal.org/5.4/Arrangement_on_surface_2/classCGAL_1_1Arr__geodesic__arc__on__sphere__traits__2.html)
has been introduced. It handles arcs of great circles embedded on the unit sphere.
### [2D Regularized Boolean Set-Operations](https://doc.cgal.org/5.4/Manual/packages.html#PkgBooleanSetOperations2)
@ -133,11 +122,61 @@ Release date: December 2021
and [`oriented_side`](https://doc.cgal.org/5.4/Boolean_set_operations_2/group__boolean__oriented__side.html))
to control whether to use `Arr_polyline_traits_2` as default traits. It is the new default as it provides better performances in general.
### [3D Mesh Generation](https://doc.cgal.org/latest/Manual/packages.html#PkgMesh3)
### [3D Mesh Generation](https://doc.cgal.org/5.4/Manual/packages.html#PkgMesh3)
- Added support of weighted images for an improved quality of meshes generated from labeled images,
along with a function `CGAL::Mesh_3::generate_label_weights()` to generate the weights.
along with a function [`CGAL::Mesh_3::generate_label_weights()`](https://doc.cgal.org/5.4/Mesh_3/namespaceCGAL_1_1Mesh__3.html#ae5914bf77180ff8948c08046154ee727)
to generate the weights.
### [dD Spatial Searching](https://doc.cgal.org/5.4/Manual/packages.html#PkgSpatialSearchingD)
- The kd-tree has a new print method now that enables to output the tree in the stream in the [Graphviz](https://graphviz.org/) format.
### [Polygon Mesh Processing](https://doc.cgal.org/5.4/Manual/packages.html#PkgPolygonMeshProcessing)
- Added the function [`CGAL::Polygon_mesh_processing::match_faces()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__measure__grp.html#ga10f7cd81645bafe936ac5eb4e58e67ef),
which, given two polygon meshes, identifies their common faces as well as faces present in only either of them.
- Added the functions: [`CGAL::Polygon_mesh_processing::bounded_error_Hausdorff_distance()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__PMP__distance__grp.html#ga6d4ecea831c33ac10eec42b5021fc183)
that computes an estimate of the one-sided Hausdorff distance between two triangle meshes which
is bounded by a user-specified error bound; [`CGAL::Polygon_mesh_processing::bounded_error_symmetric_Hausdorff_distance()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__PMP__distance__grp.html#ga9a7a682b5d9523135c8502e72117dffd)
that computes an estimate of the symmetric Hausdorff distance bounded by a user-specified error bound;
and [`CGAL::Polygon_mesh_processing::is_Hausdorff_distance_larger()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__PMP__distance__grp.html#gab19e751107025a443e86baa9763aebf3)
that returns `true` if the bounded-error Hausdorff distance between two meshes is larger than the user-specified
max distance.
- Added the functions [`CGAL::Polygon_mesh_processing::squared_edge_length()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__measure__grp.html#ga30fa03722cd7aa599f6dcb115f54fec5)
and [`CGAL::Polygon_mesh_processing::squared_face_area()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__measure__grp.html#ga6eda3738815fd678df225f79ccfc3e03),
which, compared to [`CGAL::Polygon_mesh_processing::edge_length()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__measure__grp.html#gae1674775d9fecada7f25710f425cff3a)
and [`CGAL::Polygon_mesh_processing::face_area()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__measure__grp.html#ga6a1d7a825c09490b1e6613295343482b),
enable avoiding square-root operations.
- Added more functions in the [visitor of the corefinement based methods](https://doc.cgal.org/5.4/Polygon_mesh_processing/classPMPCorefinementVisitor.html)
to track all vertex creations.
- Added an option to [`CGAL::Polygon_mesh_processing::self_intersections()`](https://doc.cgal.org/5.4/Polygon_mesh_processing/group__PMP__intersection__grp.html#gaf19c80ec12cbff7ebe9e69453f1d40b8)
to report only a limited number of intersections (`maximum_number()`).
### [The Heat Method](https://doc.cgal.org/5.4/Manual/packages.html#PkgHeatMethod)
- **Breaking change**: Added the functor `Compute_squared_length_3` providing `operator(const Vector_3& v)`,
which computes the squared length of `v`, to the [`HeatMethodTraits_3`](https://doc.cgal.org/5.4/Heat_method_3/classHeatMethodTraits__3.html)
concept.
### [Point Set Processing](https://doc.cgal.org/5.4/Manual/packages.html#PkgPointSetProcessing3)
- Added support for [`libpointmatcher::GenericDescriptorOutlierFilter`](https://github.com/ethz-asl/libpointmatcher)
that enables providing a map from a point to a weight associated with this point.
### [Shape Detection](https://doc.cgal.org/5.4/Manual/packages.html#PkgShapeDetection)
- Added new shapes to the Region Growing algorithm on a point set: circles in 2D, spheres in 3D,
and cylinders in 3D.
### [CGAL and Solvers](https://doc.cgal.org/5.4/Manual/packages.html#PkgSolverInterface)
- Added support for the [OSQP solver](https://osqp.org/). This solver enables to efficiently compute
the convex Quadratic Programming (QP) problems arising in the context of several packages.
[Release 5.3](https://github.com/CGAL/cgal/releases/tag/v5.3)
-----------
@ -148,10 +187,14 @@ Release date: July 2021
- The support for the compiled version of CGAL is dropped. Only the header-only version is supported.
- On Windows, the type used for `Exact_rational`, in `Epick` and indirectly (through `Lazy_exact_nt`)
- On Windows, the type used for [`CGAL::Exact_rational`](https://doc.cgal.org/5.3/Number_types/group__nt__cgal.html#ga0849ff44771b19582218ebdfa5614f64),
in `Epick` and indirectly (through [`Lazy_exact_nt`](https://doc.cgal.org/5.3/Number_types/classCGAL_1_1Lazy__exact__nt.html))
`Epeck` may now be `boost::multiprecision::mpq_rational`, as has been the case on other platforms
for several releases. This depends on various options and is added to a list that includes
`mpq_class`, `CGAL::Gmpq`, `leda_rational` and `CGAL::Quotient<CGAL::MP_Float>`.
[`mpq_class`](https://doc.cgal.org/5.3/Number_types/classmpq__class.html),
[`CGAL::Gmpq`](https://doc.cgal.org/5.3/Number_types/classCGAL_1_1Gmpq.html),
[`leda_rational`](https://doc.cgal.org/5.3/Number_types/classleda__rational.html)
and [`CGAL::Quotient<CGAL::MP_Float>`](https://doc.cgal.org/5.3/Number_types/classCGAL_1_1MP__Float.html).
### [Quadtrees, Octrees, and Orthtrees](https://doc.cgal.org/5.3/Manual/packages.html#PkgOrthtree) (new package)
@ -664,7 +707,7 @@ Release date: November 2019
`CGAL::Sphere_3`, `CGAL::Vector_2`, `CGAL::Vector_3`,
`CGAL::Weighted_point_2` and `CGAL::Weighted_point_3`.
### [Polygon Mesh Processing](https://doc.cgal.org/latest/Manual/packages.html#PkgPolygonMeshProcessing)
### [Polygon Mesh Processing](https://doc.cgal.org/5.0/Manual/packages.html#PkgPolygonMeshProcessing)
- Introduced a [wide range of new functions](https://doc.cgal.org/5.0/Polygon_mesh_processing/index.html#title36)
related to location of queries on a triangle mesh,
such as [`CGAL::Polygon_mesh_processing::locate(Point, Mesh)`](https://doc.cgal.org/5.0/Polygon_mesh_processing/group__PMP__locate__grp.html#gada09bd8740ba69ead9deca597d53cf15).
@ -695,7 +738,7 @@ Release date: November 2019
- The [PLY IO functions](https://doc.cgal.org/5.0/Point_set_3/group__PkgPointSet3IO.html) now take an additional optional parameter to
read/write comments from/in the PLY header.
### [Point Set Processing](https://doc.cgal.org/latest/Manual/packages.html#PkgPointSetProcessing3)
### [Point Set Processing](https://doc.cgal.org/5.0/Manual/packages.html#PkgPointSetProcessing3)
- **Breaking change**: the API using iterators and overloads for optional parameters (deprecated since
CGAL 4.12) has been removed. The current (and now only) API uses ranges and Named Parameters.
- Added the possibility to use the named parameter
@ -724,7 +767,7 @@ Release date: November 2019
[`CGAL::Triangulation_data_structure_2`](https://doc.cgal.org/5.0/TDS_2/classCGAL_1_1Triangulation__data__structure__2.html)).
- **Breaking change**: The `insert()` function
of
[`CGAL::Triangulation_2`](https://doc.cgal.org/latest/Triangulation_2/classCGAL_1_1Triangulation__2.html)
[`CGAL::Triangulation_2`](https://doc.cgal.org/5.0/Triangulation_2/classCGAL_1_1Triangulation__2.html)
which takes a range of points as argument is now guaranteed to
insert the points following the order of `InputIterator`. Note
that this change only affects the base class `Triangulation_2`

View File

@ -27,11 +27,11 @@
#if defined(__has_include)
# if CGAL_USE_GMP && ! __has_include(<gmp.h>)
# warning "<gmp.h> cannot be found. Less efficient number types will be used instead. Define CGAL_NO_GMP=1 if that is on purpose."
# pragma CGAL_WARNING(<gmp.h> cannot be found. Less efficient number types will be used instead. Define CGAL_NO_GMP=1 if that is on purpose.)
# undef CGAL_USE_GMP
# undef CGAL_USE_MPFR
# elif CGAL_USE_MPFR && ! __has_include(<mpfr.h>)
# warning "<mpfr.h> cannot be found and the GMP support in CGAL requires it. Less efficient number types will be used instead. Define CGAL_NO_GMP=1 if that is on purpose."
# pragma CGAL_WARNING(<mpfr.h> cannot be found and the GMP support in CGAL requires it. Less efficient number types will be used instead. Define CGAL_NO_GMP=1 if that is on purpose.)
# undef CGAL_USE_GMP
# undef CGAL_USE_MPFR
# endif // CGAL_USE_MPFR and no <mpfr.h>

Some files were not shown because too many files have changed in this diff Show More