Skip to content

Commit 50de5e3

Browse files
authoredJul 28, 2024··
Provide a choice of predicate kernel. Make AdaptivePredicates.jl the new default (#165)
1 parent 8e2ed22 commit 50de5e3

File tree

124 files changed

+6587
-6091
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+6587
-6091
lines changed
 

‎.github/workflows/CI.yml

+1-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ concurrency:
1212
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
1313
jobs:
1414
test:
15-
name: Julia ${{ matrix.version }} - ${{ matrix.arch }} - ${{ github.event_name }} - ExactPredicates ${{ matrix.preferences }} - ${{ matrix.os }}
15+
name: Julia ${{ matrix.version }} - ${{ matrix.arch }} - ${{ github.event_name }} - ${{ matrix.os }}
1616
runs-on: ${{ matrix.os }}
1717
env:
1818
JULIA_NUM_THREADS: ${{ matrix.julia-threads }}
@@ -27,10 +27,6 @@ jobs:
2727
- ubuntu-latest
2828
arch:
2929
- x64
30-
preferences:
31-
- 'DEFAULT'
32-
- 'EXACT'
33-
- 'INEXACT'
3430
steps:
3531
- name: Checkout repository for access
3632
uses: actions/checkout@v4
@@ -50,8 +46,6 @@ jobs:
5046

5147
- name: Run the tests
5248
uses: julia-actions/julia-runtest@v1
53-
env:
54-
PREDICATES: ${{ matrix.preferences }}
5549

5650
- name: Process the coverage
5751
if: always()

‎NEWS.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
## Main (upcoming v.1.1.0)
44

5-
- Added the option to disable ExactPredicates.jl using Preferences.jl. See [#131](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/131) and [#137](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/137).
5+
There are a lot of changes in this release, most of them irrelevant for the user. The most important change is the following:
6+
7+
- We now support a choice between fast, exact, and adaptive predicates via `FastKernel()`, `ExactKernel()`, and `AdaptiveKernel()`, respectively. The default is now `AdaptiveKernel()`. Moreover, triangle areas are now computed using the adaptive `orient` predicate to be more robust. See [#165](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/165).
8+
9+
Previously, ExactPredicates.jl was used everywhere, which can be slow and not necessary for certain point sets. The `FastKernel()` option
10+
has no exact or adaptive arithmetic and so should be used with caution. The documentation discusses these choices in more detail.
11+
12+
To actually configure the choice of predicate, you can e.g. in `triangulate` use the `predicates` keyword argument and pass one of
13+
`DelaunayTriangulation.FastKernel()`, `DelaunayTriangulation.ExactKernel()`, or `DelaunayTriangulation.AdaptiveKernel()`. If you are computing a predicate manually, then the predicate is instead passed as the first argument.
14+
15+
Some other changes:
16+
617
- Added `DelauanyTriangulation.validate_triangulation` for validating triangulations. See [#131](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/131).
718
- Fixed a bug with the currently unused `orient(p, q, r, s)` predicate. See [#131](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/131).
819
- Added private functions `getz`, `_getz`, `getxyz`, and `_getxyz`. See [#131](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/131).
@@ -17,6 +28,7 @@
1728
- Added a CONTRIBUTING.md file and issue templates. See [#160](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/160).
1829
- Added `is_point2` and `is_point3` to detect if a given input is a point. This allows vector coordinates to be passed to `convert_boundary_points_to_indices`. See [#161](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/161).
1930
- Removed an allocation from `add_vertex!`. See [#163](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/163).
31+
- Fixed an issue with the user-supplied `rng` not being passed to `lock_convex_hull!`.
2032

2133
## v1.0.5
2234

0 commit comments

Comments
 (0)