You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: NEWS.md
+4
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,9 @@
1
1
# Changelog
2
2
3
+
## 1.5.0
4
+
5
+
- Introduced the ability to reconstruct unconstrained triangulations from an existing set of points and triangles using `Triangulation(points, triangles)`. See [#192](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/192)
6
+
3
7
## 1.4.0
4
8
5
9
- Updated to AdaptivePredicates.jl v1.2, now allowing caches to be passed to the predicates involving `incircle` and `orient3`. These are only useful when using the `AdaptiveKernel()` kernel. Outside of triangulating, these caches are not passed by default, but can be provided. The functions `get_incircle_cache` and `get_orient3_cache` can be used for this purpose on a triangulation (without a triangulation, refer to AdaptivePredicate.jl's `incircleadapt_cache` and `orient3adapt_cache`). See [#185](https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/185).
Copy file name to clipboardexpand all lines: src/data_structures/triangulation/triangulation.jl
+48-1
Original file line number
Diff line number
Diff line change
@@ -488,7 +488,7 @@ Returns the `Triangulation` corresponding to the triangulation of `points` with
488
488
489
489
# Arguments
490
490
- `points`: The points that the triangulation is of.
491
-
- `triangles`: The triangles of the triangulation. These should be given in counter-clockwise order, with vertices corresponding to `points`. These should not include any ghost triangles.
491
+
- `triangles`: The triangles of the triangulation. These should be given in counter-clockwise order, with vertices corresponding to `points`. Ghost triangles should not be included (and are ignored if they are).
492
492
- `boundary_nodes`: The boundary nodes of the triangulation. These should match the specification given in the documentation or in [`check_args`](@ref).
493
493
494
494
# Keyword Arguments
@@ -520,6 +520,52 @@ Returns the `Triangulation` corresponding to the triangulation of `points` with
Returns the unconstrained `Triangulation` corresponding to the triangulation of `points` with `triangles`.
527
+
528
+
!!! note "Valid boundary"
529
+
530
+
This constructor uses the [`convex_hull`](@ref) of `points` to determine the triangulation's boundary.
531
+
If the set of triangles does not form a valid unconstrained triangulation, then this constructor may not
532
+
return a valid triangulation. Similarly, if there is a point in `points` that is not a vertex of some
533
+
triangle, but is a vertex of the convex hull, the triangulation will not be valid.
534
+
535
+
# Arguments
536
+
- `points`: The points that the triangulation is of. There should not be any points not referenced in `triangles`.
537
+
- `triangles`: The triangles of the triangulation. These should be given in counter-clockwise order, with vertices corresponding to `points`. Ghost triangles should not be included (and are ignored if they are).
538
+
539
+
# Keyword Arguments
540
+
- `predicates::AbstractPredicateKernel=AdaptiveKernel()`: Method to use for computing predicates. Can be one of [`FastKernel`](@ref), [`ExactKernel`](@ref), and [`AdaptiveKernel`](@ref). See the documentation for a further discussion of these methods.
541
+
- `IntegerType=Int`: The integer type to use for the triangulation. This is used for representing vertices.
542
+
- `EdgeType=isnothing(segments) ? NTuple{2,IntegerType} : (edge_type ∘ typeof)(segments)`: The edge type to use for the triangulation.
543
+
- `TriangleType=NTuple{3,IntegerType}`: The triangle type to use for the triangulation.
544
+
- `EdgesType=isnothing(segments) ? Set{EdgeType} : typeof(segments)`: The type to use for storing the edges of the triangulation.
545
+
- `TrianglesType=Set{TriangleType}`: The type to use for storing the triangles of the triangulation.
546
+
- `weights=ZeroWeight()`: The weights associated with the triangulation.
547
+
- `delete_ghosts=false`: Whether to delete the ghost triangles after the triangulation is computed. This is done using [`delete_ghost_triangles!`](@ref).
0 commit comments