mirror of https://github.com/CGAL/cgal
Merge remote-tracking branch 'upstream/master' into feature/issue_7395
This commit is contained in:
commit
ff3ff12a40
|
|
@ -12,15 +12,15 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: REUSE version
|
- name: REUSE version
|
||||||
uses: fsfe/reuse-action@v1
|
uses: fsfe/reuse-action@v2
|
||||||
with:
|
with:
|
||||||
args: --version
|
args: --version
|
||||||
- name: REUSE lint
|
- name: REUSE lint
|
||||||
uses: fsfe/reuse-action@v1
|
uses: fsfe/reuse-action@v2
|
||||||
with:
|
with:
|
||||||
args: --include-submodules lint
|
args: --include-submodules lint
|
||||||
- name: REUSE SPDX SBOM
|
- name: REUSE SPDX SBOM
|
||||||
uses: fsfe/reuse-action@v1
|
uses: fsfe/reuse-action@v2
|
||||||
with:
|
with:
|
||||||
args: spdx
|
args: spdx
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
|
|
@ -30,6 +30,6 @@ jobs:
|
||||||
mkdir -p ./release
|
mkdir -p ./release
|
||||||
cmake -DDESTINATION=./release -DCGAL_VERSION=9.9 -P ./Scripts/developer_scripts/cgal_create_release_with_cmake.cmake
|
cmake -DDESTINATION=./release -DCGAL_VERSION=9.9 -P ./Scripts/developer_scripts/cgal_create_release_with_cmake.cmake
|
||||||
- name: REUSE lint release tarball
|
- name: REUSE lint release tarball
|
||||||
uses: fsfe/reuse-action@v1
|
uses: fsfe/reuse-action@v2
|
||||||
with:
|
with:
|
||||||
args: --root ./release/CGAL-9.9 --include-submodules lint
|
args: --root ./release/CGAL-9.9 --include-submodules lint
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ halfspace_intersection_interior_point_3(PlaneIterator begin, PlaneIterator end)
|
||||||
typedef typename Kernel_traits<typename std::iterator_traits<PlaneIterator>::value_type>::Kernel K;
|
typedef typename Kernel_traits<typename std::iterator_traits<PlaneIterator>::value_type>::Kernel K;
|
||||||
|
|
||||||
// choose exact integral type
|
// choose exact integral type
|
||||||
typedef typename internal::Exact_field_selector<void*>::Type ET;
|
typedef typename internal::Exact_field_selector<typename K::FT>::Type ET;
|
||||||
|
|
||||||
// find a point inside the intersection
|
// find a point inside the intersection
|
||||||
internal::Interior_polyhedron_3<K, ET> interior;
|
internal::Interior_polyhedron_3<K, ET> interior;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Release date: October 2023
|
||||||
[Release 5.6](https://github.com/CGAL/cgal/releases/tag/v5.6)
|
[Release 5.6](https://github.com/CGAL/cgal/releases/tag/v5.6)
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Release date: June 2023
|
Release date: July 2023
|
||||||
|
|
||||||
### General Changes
|
### General Changes
|
||||||
|
|
||||||
|
|
@ -186,6 +186,13 @@ Release date: June 2023
|
||||||
to describe 3D simplicial meshes, and makes the data structure independent
|
to describe 3D simplicial meshes, and makes the data structure independent
|
||||||
from the [tetrahedral mesh generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3) package.
|
from the [tetrahedral mesh generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3) package.
|
||||||
|
|
||||||
|
### [Tetrahedral Remeshing](https://doc.cgal.org/5.6/Manual/packages.html#PkgTetrahedralRemeshing)
|
||||||
|
- **Breaking change**: The template parameters of
|
||||||
|
[`CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3`](https://doc.cgal.org/5.6/Tetrahedral_remeshing/group__PkgTetrahedralRemeshingClasses.html#ga7ef4f8c0c1ed715c34389ea4ee851a92)
|
||||||
|
and
|
||||||
|
[`CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3`](https://doc.cgal.org/5.6/Tetrahedral_remeshing/classCGAL_1_1Tetrahedral__remeshing_1_1Remeshing__cell__base__3.html)
|
||||||
|
have been modified.
|
||||||
|
|
||||||
### [3D Mesh Generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3)
|
### [3D Mesh Generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3)
|
||||||
|
|
||||||
- Added two new named parameters to the named constructor
|
- Added two new named parameters to the named constructor
|
||||||
|
|
|
||||||
|
|
@ -924,9 +924,9 @@ int main()
|
||||||
{
|
{
|
||||||
CGAL::Set_ieee_double_precision pfr;
|
CGAL::Set_ieee_double_precision pfr;
|
||||||
|
|
||||||
Test< CGAL::Simple_cartesian<CGAL::internal::Exact_field_selector<void*>::Type > >().run();
|
Test< CGAL::Simple_cartesian<CGAL::internal::Exact_field_selector<double>::Type > >().run();
|
||||||
Test< CGAL::Cartesian<double> >().run();
|
Test< CGAL::Cartesian<double> >().run();
|
||||||
Test< CGAL::Homogeneous<CGAL::internal::Exact_field_selector<void*>::Type > >().run();
|
Test< CGAL::Homogeneous<CGAL::internal::Exact_field_selector<double>::Type > >().run();
|
||||||
Test< CGAL::Exact_predicates_inexact_constructions_kernel >().run();
|
Test< CGAL::Exact_predicates_inexact_constructions_kernel >().run();
|
||||||
Test< CGAL::Exact_predicates_exact_constructions_kernel >().run();
|
Test< CGAL::Exact_predicates_exact_constructions_kernel >().run();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ typedef unspecified_type Exact_integer;
|
||||||
|
|
||||||
#else // not DOXYGEN_RUNNING
|
#else // not DOXYGEN_RUNNING
|
||||||
|
|
||||||
typedef internal::Exact_ring_selector<int>::Type Exact_integer;
|
using Exact_integer = internal::Exact_NT_backend<internal::Default_exact_nt_backend>::Integer;
|
||||||
|
|
||||||
#endif // not DOXYGEN_RUNNING
|
#endif // not DOXYGEN_RUNNING
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ typedef unspecified_type Exact_rational;
|
||||||
|
|
||||||
#else // not DOXYGEN_RUNNING
|
#else // not DOXYGEN_RUNNING
|
||||||
|
|
||||||
typedef internal::Exact_field_selector<double>::Type Exact_rational;
|
using Exact_rational = internal::Exact_NT_backend<internal::Default_exact_nt_backend>::Rational;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -156,25 +156,27 @@ constexpr ENT_backend_choice Default_exact_nt_backend = static_cast<ENT_backend_
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template < typename >
|
template < typename >
|
||||||
struct Exact_field_selector
|
struct Exact_field_selector;
|
||||||
{
|
|
||||||
using Type = typename Exact_NT_backend<Default_exact_nt_backend>::Rational;
|
|
||||||
};
|
|
||||||
|
|
||||||
template < typename >
|
template < typename >
|
||||||
struct Exact_ring_selector
|
struct Exact_ring_selector;
|
||||||
{
|
|
||||||
using Type = typename Exact_NT_backend<Default_exact_nt_backend>::Integer;
|
#define CGAL_EXACT_SELECTORS_SPECS(X) \
|
||||||
|
template <> \
|
||||||
|
struct Exact_ring_selector<X> \
|
||||||
|
{ \
|
||||||
|
using Type = typename Exact_NT_backend<Default_exact_nt_backend>::Ring_for_float; \
|
||||||
|
}; \
|
||||||
|
\
|
||||||
|
template <> \
|
||||||
|
struct Exact_field_selector<X> \
|
||||||
|
{ \
|
||||||
|
using Type = typename Exact_NT_backend<Default_exact_nt_backend>::Rational; \
|
||||||
};
|
};
|
||||||
|
|
||||||
template <>
|
CGAL_EXACT_SELECTORS_SPECS(double)
|
||||||
struct Exact_ring_selector<double>
|
CGAL_EXACT_SELECTORS_SPECS(float)
|
||||||
{
|
CGAL_EXACT_SELECTORS_SPECS(int)
|
||||||
using Type = typename Exact_NT_backend<Default_exact_nt_backend>::Ring_for_float;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct Exact_ring_selector<float> : Exact_ring_selector<double> { };
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct Exact_field_selector<MP_Float>
|
struct Exact_field_selector<MP_Float>
|
||||||
|
|
@ -188,6 +190,10 @@ template <>
|
||||||
struct Exact_field_selector<Quotient<MP_Float> >
|
struct Exact_field_selector<Quotient<MP_Float> >
|
||||||
{ typedef Quotient<MP_Float> Type; };
|
{ typedef Quotient<MP_Float> Type; };
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct Exact_ring_selector<Quotient<MP_Float> >
|
||||||
|
{ typedef Quotient<MP_Float> Type; };
|
||||||
|
|
||||||
// And we specialize for the following types :
|
// And we specialize for the following types :
|
||||||
#ifdef CGAL_USE_GMP
|
#ifdef CGAL_USE_GMP
|
||||||
template <>
|
template <>
|
||||||
|
|
@ -249,6 +255,10 @@ struct Exact_ring_selector<leda_rational>
|
||||||
template <>
|
template <>
|
||||||
struct Exact_field_selector<leda_real>
|
struct Exact_field_selector<leda_real>
|
||||||
{ typedef leda_real Type; };
|
{ typedef leda_real Type; };
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct Exact_ring_selector<leda_real>
|
||||||
|
{ typedef leda_real Type; };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CGAL_USE_CORE
|
#ifdef CGAL_USE_CORE
|
||||||
|
|
@ -277,6 +287,26 @@ struct Exact_field_selector<Exact_NT_backend<BOOST_BACKEND>::Rational>
|
||||||
template <>
|
template <>
|
||||||
struct Exact_ring_selector<Exact_NT_backend<BOOST_BACKEND>::Rational>
|
struct Exact_ring_selector<Exact_NT_backend<BOOST_BACKEND>::Rational>
|
||||||
{ typedef Exact_NT_backend<BOOST_BACKEND>::Rational Type; };
|
{ typedef Exact_NT_backend<BOOST_BACKEND>::Rational Type; };
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CGAL_USE_GMP
|
||||||
|
template <>
|
||||||
|
struct Exact_field_selector<Exact_NT_backend<BOOST_GMP_BACKEND>::Integer>
|
||||||
|
{ typedef Exact_NT_backend<BOOST_GMP_BACKEND>::Rational Type; };
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct Exact_ring_selector<Exact_NT_backend<BOOST_GMP_BACKEND>::Integer>
|
||||||
|
{ typedef Exact_NT_backend<BOOST_GMP_BACKEND>::Integer Type; };
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct Exact_field_selector<Exact_NT_backend<BOOST_GMP_BACKEND>::Rational>
|
||||||
|
{ typedef Exact_NT_backend<BOOST_GMP_BACKEND>::Rational Type; };
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct Exact_ring_selector<Exact_NT_backend<BOOST_GMP_BACKEND>::Rational>
|
||||||
|
{ typedef Exact_NT_backend<BOOST_GMP_BACKEND>::Rational Type; };
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
|
|
@ -287,4 +317,6 @@ struct Exact_type_selector : Exact_field_selector< ET > {};
|
||||||
|
|
||||||
} } // namespace CGAL::internal
|
} } // namespace CGAL::internal
|
||||||
|
|
||||||
|
#undef CGAL_EXACT_SELECTORS_SPECS
|
||||||
|
|
||||||
#endif // CGAL_INTERNAL_EXACT_TYPE_SELECTOR_H
|
#endif // CGAL_INTERNAL_EXACT_TYPE_SELECTOR_H
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue