Recent Releases of DelaunayTriangulation.jl
DelaunayTriangulation.jl - v1.6.4
DelaunayTriangulation v1.6.4
Merged pull requests: - Skip duplicates by default (#218) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
DelaunayTriangulation.jl - v1.6.3
DelaunayTriangulation v1.6.3
Merged pull requests: - Remove PrecompileTools (#214) (@DanielVandH)
Closed issues: - Look into precompilation time (#213)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
DelaunayTriangulation.jl - v1.6.2
DelaunayTriangulation v1.6.2
Merged pull requests: - Move cell example to Agents.jl (#203) (@DanielVandH) - Bump codecov/codecov-action from 4 to 5 (#210) (@dependabot[bot]) - Shorten some file names (#212) (@DanielVandH)
Closed issues: - Warning on points not being in plane. (#208) - name too long (ENAMETOOLONG) in a test file (#211)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
DelaunayTriangulation.jl - v1.6.1
DelaunayTriangulation v1.6.1
Merged pull requests: - Fix refimages (#204) (@DanielVandH) - 1.11 (#205) (@DanielVandH) - Fix issue with clipped Voronoi tessellation for a single right-angled triangle (#207) (@DanielVandH)
Closed issues:
- Make liang_barsky public (#202)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
DelaunayTriangulation.jl - v1.6.0
DelaunayTriangulation v1.6.0
- Define
reverseforAbstractParametricCurves, making it easier to reverse the orientation of a curve. See #195. - Fixed an issue with
LineSegmentnot returning the exact endpoints att=1, which can be problematic when joining boundary nodes. This has been fixed. See #195. - Introduced
is_linearto fix issues with boundary enrichment of domains withLineSegments. In particular,LineSegments are no longer enriched. See #195. orientation_markersnow usesuniquetolinstead ofuniquefor the final set of markers (it already did it for the intermediate markers). See #195.- For large
Tuples, functions likeeval_fnc_at_het_tuple_two_elementsare problematic and allocate more than their non-type-stable counterparts. To get around this, forTuples of lengthN > 32, the non-type-stable version is used. See #195. - Fixed issue with
use_barrierswhen a ghost edge is selected at random during point location. See #196. - Introduced the (currently internal) function
get_positive_curve_indicesfor finding curves with positive orientation in aTriangulation. See #196. is_exterior_curve,is_interior_curve,num_exterior_curves, andis_disjointare now defined based onget_positive_curve_indicesrather thanget_exterior_curve_indices. See #196.- PrecompileTools.jl is now used. See #200.
- Introduced the (currently internal) function
get_positive_curve_indicesfor finding curves with positive orientation in aTriangulation. #196. PointLocationHistorywas not marked as public. This has been fixed. See #198.- Fixed an issue with missing docstrings and duplicate docstrings in the documentation. See #198.
copyanddeepcopyare now correctly implemented forPolygonTrees andPolygonHierarchys. See #199- Implemented
copyanddeepcopyforTriangulationandVoronoiTessellation. See #201. - Fixed a bug with
Triangulationspolygon_hierarchynot being correctly aliased with thepolygon_hierarchyfrom theBoundaryEnricher, and similarly for theboundary_edge_map. See #201. - Implemented
==forVoronoiTessellation. See #201.
Merged pull requests:
- Implement reverse for AbstractParametricCurve and other changes (#195) (@DanielVandH)
- Fix issue with exterior ghost vertices (#196) (@DanielVandH)
- Add Makie tests (#197) (@DanielVandH)
- Fix issue with missing and duplicate docstrings (#198) (@DanielVandH)
- Fix copy and deepcopy for PolygonTrees and PolygonHierarchys (#199) (@DanielVandH)
- Use precompiletools.jl (#200) (@DanielVandH)
- Implement copy/deepcopy for Triangulation/VoronoiTessellation (#201) (@DanielVandH)
Closed issues:
- Deletepoint doesn't work on the boundary (#104)
- Added points which are on the boundary are added to the constrained segments (#105)
- Add Makie.jl's reftests of tricontourf/voronoiplot/triplot into tests (#120)
- Re-enable deepcopy on PolygonTrees (#129)
- Use tools like PrecompileTools, JET, and SnoopCompile to improve package quality (#134)
- Implement copy for Triangulation (#142)
- [Documentation]: Not all public functions are listed on the overview (#173)
- [BUG]: `findtriangle` not finding visible point (#188)
- LineSegment should return the endpoints at t=0/t=1 (#194)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.5.1
DelaunayTriangulation v1.5.1
Merged pull requests: - Zenodo -> JOSS (#193) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.5.0
DelaunayTriangulation v1.5.0
Merged pull requests: - Added ability to create a Triangulation with only points and triangles as input (#192) (@matgrand)
Closed issues: - [JOSS]: Editing comments (#190)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.4.2
DelaunayTriangulation v1.4.2
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.4.1
DelaunayTriangulation v1.4.1
Merged pull requests: - Software comparison (#191) (@DanielVandH)
Closed issues: - [JOSS] Review comments (#189)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.4.0
DelaunayTriangulation v1.4.0
- Updated to AdaptivePredicates.jl v1.2, now allowing caches to be passed to the predicates involving
incircleandorient3. These are only useful when using theAdaptiveKernel()kernel. Outside of triangulating, these caches are not passed by default, but can be provided. The functionsget_incircle_cacheandget_orient3_cachecan be used for this purpose on a triangulation (without a triangulation, refer to AdaptivePredicate.jl'sincircleadapt_cacheandorient3adapt_cache). See #185.
Merged pull requests: - Upgrade to AdaptivePredicates 1.2 (#185) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.3.1
DelaunayTriangulation v1.3.1
Merged pull requests: - Improve the README (#182) (@DanielVandH) - Fix degenerate weighted triangulation (#184) (@DanielVandH)
Closed issues: - Performance audit (#111) - [JOSS] Review comments (#181) - [BUG]: Degenerate weighted triangulation (#183)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.3.0
This release finally introduces weighted triangulations and power diagrams, and also allows for users to provide a generic convex polygon to for clipping a Voronoi tessellation instead of only the convex hull.
- Weighted triangulations have now been implemented, as have power diagrams. The weights are also no longer restricted to
Float64type. See #180. intersection_of_edge_and_bisector_raynow accepts aprojectkeyword argument. See #180.get_weight(w, i)now returns, wheniis not an integer, eitheri[3]if it represents a point in space or0. See #180.- Define
project_onto_line(p, q, r)for projecting a pointronto the line defined bypandq. See #180. - Fixed a bug with clipping Voronoi tessellations in cases where there are no intersections of any Voronoi polygon with the convex hull. See #180.
voronoinow accepts an optionalclip_polygonkeyword argument, defaulting tonothing(corresponding to the convex hull), allowing for a convex clip polygon to be used instead of the convex hull. Theclip_polygonshould be aTupleof the form(points, boundary_nodes)where theboundary_nodesgive vertices ofpointsadhering to the usual convention. Note that this could be used as an alternative to looping overget_polygon_coordinatesfor clipping to a rectangle. See #180.centroidal_smoothnow acceptsclip_pointsandclip_verticesas keyword arguments, defaulting tonothing(corresponding to the convex hull), to accommodate the newclip_polygonkeyword argument invoronoi. See #180.has_multiple_curves,has_multiple_sections, andnum_boundary_edgesnow have methods forTuples of integers. A bug was also fixed withnumber_typeof aTupleofTuples of coordinates returning theTupletype instead of the coordinate type. See #180.
What's Changed
- Implement weighted Delaunay triangulations and power diagrams by @DanielVandH in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/180
Full Changelog: https://github.com/JuliaGeometry/DelaunayTriangulation.jl/compare/v1.2.0...v1.3.0
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 1 year ago
DelaunayTriangulation.jl - v1.2.0
DelaunayTriangulation v1.2.0
Merged pull requests:
- Better default set_point! for matrices, and check for dimension of the user's points (#178) (@DanielVandH)
Closed issues: - [BUG]: centroidal_smooth fails when applied to the triangulation of a sphere, Möbius strip, or Swiss roll. (#177)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.1.4
DelaunayTriangulation v1.1.4
Merged pull requests: - Fix curve-bounded refinement with custom structs (#175) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.1.3
DelaunayTriangulation v1.1.3
Merged pull requests: - make sort_triangle public (#174) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.1.2
DelaunayTriangulation v1.1.2
Merged pull requests: - some notes in docstrings (#171) (@DanielVandH)
Closed issues:
- [BUG]: triangulate function is not type-stable (#170)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.1.1
DelaunayTriangulation v1.1.1
Merged pull requests:
- Wrap matlab code in code blocks so it's easier to interpret in test/helper_functions.jl (#167) (@asinghvi17)
- Don't make exported symbols public (#168) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.1.0
DelaunayTriangulation v1.1.0
There are a lot of changes in this release, most of them irrelevant for the user. The most important change is the following:
- We now support a choice between fast, exact, and adaptive predicates via
FastKernel(),ExactKernel(), andAdaptiveKernel(), respectively. The default is nowAdaptiveKernel(). Moreover, triangle areas are now computed using the adaptiveorientpredicate to be more robust. See #165.
Previously, ExactPredicates.jl was used everywhere, which can be slow and not necessary for certain point sets. The FastKernel() option
has no exact or adaptive arithmetic and so should be used with caution. The documentation discusses these choices in more detail.
To actually configure the choice of predicate, you can e.g. in triangulate use the predicates keyword argument and pass one of
DelaunayTriangulation.FastKernel(), DelaunayTriangulation.ExactKernel(), or DelaunayTriangulation.AdaptiveKernel(). If you are computing a predicate manually, then the predicate is instead passed as the first argument.
Some other changes:
- Added
DelauanyTriangulation.validate_triangulationfor validating triangulations. See #131. - Fixed a bug with the currently unused
orient(p, q, r, s)predicate. See #131. - Added private functions
getz,_getz,getxyz, and_getxyz. See #131. jump_and_marchhas now been renamed tofind_triangle. For compatibility,jump_and_marchstill works and is simply an alias offind_triangle. See #133.- Mutable structs now use
conston fields that aren't changed. For compatibility with older versions, this is implemented using a macro that is a no-op where this is not supported. See #140. - We now use the
publicword to define public functions. This is only included on Julia versions v1.11 and above. See #140. - We now test on the pre-release. See #140.
- The module
DelaunayTriangulationnow has a docstring. See #140. - The
.mdfiles for tutorials and applications in the docs have been properly updated to match their literate counterparts. See #140. - We now use a workflow to enforce changes to
NEWS.mdfor any PRs. See #140. - Improved the error message for an incorrect orientation. See #144.
- Added a CONTRIBUTING.md file and issue templates. See #160.
- Added
is_point2andis_point3to detect if a given input is a point. This allows vector coordinates to be passed toconvert_boundary_points_to_indices. See #161. - Removed an allocation from
add_vertex!. See #163. - Fixed an issue with the user-supplied
rngnot being passed tolock_convex_hull!.
Merged pull requests:
- Allow for ExactPredicates to be toggled (#131) (@DanielVandH)
- Bump actions/checkout from 3 to 4 (#132) (@dependabot[bot])
- Change jumpandmarch to findtriangle (#133) (@DanielVandH)
- Reorganise the includes (#135) (@DanielVandH)
- Change USEEXACTPREDICATES to PREDICATES (#137) (@DanielVandH)
- Add public, const, and test on pre-release (#140) (@DanielVandH)
- Hint at what orientation means in the error message (#144) (@asinghvi17)
- Use contributions md (#160) (@DanielVandH)
- Fix convertboundarypointstoindices for vector of vector coordinates (#161) (@DanielVandH)
- Move out the config checks at the start of triangulate into their own function (#162) (@DanielVandH)
- Remove allocation in add_vertex! (#163) (@DanielVandH)
- Provide a choice of predicate kernel. Make AdaptivePredicates.jl the new default (#165) (@DanielVandH)
- Runic (#166) (@DanielVandH)
Closed issues:
- Spatial sorting for fast insertion (#34)
- Detection of intersecting segments in user input (#42)
- Support for clipped/centroidal Voronoi tessellations on non-convex geometries and multiply-connected/disjoint triangulations (#48)
- Integer division error with Float32 for clipped Voronoi (#72)
- Voronoi treemap (#87)
- Add an alias find_triangle for jump_and_march (#110)
- Add has_polygon_vertex for VoronoiTessellations (#115)
- Add clean!(::Triangulation) and clean!(::VoronoiTessellation) (with better names) (#116)
- Weighted triangulations and Voronoi power diagrams (#124)
- Centroidal Voronoi tessellations with inhomogeneous density (#125)
- Retriangulating perturbed data sets (#126)
- Inserting curves into a triangulation (#127)
- Maximum angle constraints (#128)
- Look into AdaptivePredicates.jl (#136)
- Thoughts for 3D Delaunay tetrahedralisations (#139)
- Add a reconstruct function for building triangulations from points and triangles (#143)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.0.5
DelaunayTriangulation v1.0.5
Merged pull requests: - Disable deepcopy on PolygonTrees (#130) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.0.4
Nothing breaking. Main changes:
- Fixes some issue with type instabilities
- Adds
construct_polygon_hierarchyto the public API list (it was already intended to be there) - All computations are now in the provided precision except for the triangle area and circumcenter which are done in
Float64. A warning is given when a non-Float64 precision is given. - Closes #118
- Redesigns the
Polygonstruct to have anis_circularfield, avoiding the need forviews - Completely refactors
validate_triangulation. Still only lives in the test files though. Maybe one day it can live inside the package itself incase users somehow have a use for it.. - Clean up the runtests.jl file, and make sure that the README/docs are fully tested
- Use Aqua and fix ambiguities
- Remove accidental piracy of
minimum(::Nothing) - Remove CI spam from method redefinitions
- Fix some issues with doc images and some typos
- Fix #109
Issues/PRs
- Upping version just to test cov by @DanielVandH in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/112
- Fix typo in constrained_edges.jl docs by @juliohm in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/113
- Fix typo in constrainedouterboundary.jl docs by @juliohm in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/114
- Fix image by @DanielVandH in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/117
- Fix some type instabilities and other fixes by @DanielVandH in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/119
New Contributors
- @juliohm made their first contribution in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/pull/113
Full Changelog: https://github.com/JuliaGeometry/DelaunayTriangulation.jl/compare/v1.0.3...v1.0.4
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 1 year ago
DelaunayTriangulation.jl - v1.0.3
DelaunayTriangulation v1.0.3
Merged pull requests: - Delete old function definitions (#108) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.0.2
Full Changelog: https://github.com/JuliaGeometry/DelaunayTriangulation.jl/compare/v1.0.1...v1.0.2
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 1 year ago
DelaunayTriangulation.jl - v1.0.1
DelaunayTriangulation v1.0.1
Now that refine! can introduce duplicate points (that are later removed), it was noticed that retriangulate mistakenly considers all points rather than just the current vertices in tri. This has now been fixed.
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v1.0.0
DelaunayTriangulation v1.0.0
In addition to the changes below, note that many bugs have been fixed. Feel free to make any issues or PRs if you encounter any problems.
Added
- Triangulation and refinement of curve-bounded domains has now been added.
- The
Triangulationstruct has some more fields. One of these isweights, although this is not to be used just yet; it is possible to computed weighted Delaunay triangulations of convex polygons, but not for general domains currently. - Where reasonable, default methods for the geometric primitive interfaces have now been added. For example,
getxnow has the default definitiongetx(p) = p[1]. - You can now use
each_boundary_edgeto iterate over the boundary edges (in no specific order), rather than having to usekeys(get_boundary_edge_map(tri))as you had to before 1.0. - The documentation has had a complete overhaul.
- The
retriangulatefunction has now been added, allowing for the retriangulation of a givenTriangulation. - The function
distcan now be used for computing the distance between a point and the triangulation, rather than having to usedistance_to_polygon. - You can now use
find_polygonto find what polygon in a provided boundary of aTriangulationcontains a given point. - Mesh refinement now, by default, defaults to the diametral lens definition of encroachment rather than the diametral circle definition. You can toggle this behaviour using the
use_lenskeyword inrefine!. - Now whenever encroached edges are split during mesh refinement, all free vertices inside that edge's diametral circle will be deleted prior to splitting.
Breaking
Please note that a lot of these changes that follow are only technically breaking, because I failed to properly specify what the public API was for this package (this has now been corrected in v1.0 and onwards).
- All references to constrained edges are now referred to as segments. For example, the field
constrained_edgesis nowinterior_segments, andall_constrained_edgesis nowall_segments. The same goes for the associated getters. - The keyword
edgesintriangulateis nowsegments. lock_convex_hull!will now delete frominterior_segmentsfield any edges it encounters along the convex hull during locking.add_edge!is nowadd_segment!.triangulate_convexno longer accepts therecompute_centerskeyword.RefinementTargetsis nowRefinementConstraints.maxitersis no longer a valid keyword argument ofrefine!. Instead, you should just passmax_pointsappropriately. With this change, the default formax_pointsis no longertypemax(Int)but is insteadmax(1000, num_solid_vertices(tri))^2.refine!no longer returnsstatistics(tri). It now only returnstri. If you want the statistics, just usestatistics(tri)afterwards.refine!no longer acceptsmax_radius_edge_ratio. Instead, you must providemin_angle. (Internally, it is stillmax_radius_edge_ratiothat gets primarily used, butmin_angleis more interpretable for a user.)lock_convex_hullis no longer a keyword of argument ofrefine!- if it has to be locked, it will be automatically.edge_indiceshas been removed and is nowedge_vertices.indiceshas been removed and is nowtriangle_vertices.initialise_edgesandinitialise_triangleshave been removed. Just use the types instead, e.g.initialise_edges(::Type{S})is now justS().is_emptyhas been removed. Just useisempty.compare_unoriented_edgeis nowcompare_unoriented_edges.initialandterminalare no longer exported.edge_verticesis more appropriate for this.geti,getj,getkare no longer exported.triangle_verticesis more appropriate for this.each_pointandeach_point_indexare no longer exported. You are encougared to rely oneach_solid_vertexinstead. Just note thateach_solid_vertexis not an ordered iterator.num_pointsis no longer exported. You are encouraged to instead usenum_solid_vertices.remove_duplicate_triangleshas been removed. Just usesort_trianglesandunique!.- I used to refer to distinct parts of a boundary as
segments. This is misleading, since it's the first name that I use for constrained edges. So, I now use the termsections. For example,has_multiple_segmentsis nowhas_multiple_sections. has_multiple_sectionscan no longer be used on the ghost vertex map.getboundarynodeshas been removed. Just use and extendget_boundary_nodesinstead.BoundaryIndexis nowGhostVertex. Similar references toboundary_indexhave been changed toghost_vertex.boundary_mapis nowghost_vertex_map.boundary_index_rangesis nowghost_vertex_ranges.integer_typeis removed (exceptforTriangulations).number_typeshould be used for this.- Previously,
get_boundary_index(now calledget_ghost_vertex) errored if neither of the three arguments was a ghost vertex. Now, if none of the arguments is a ghost vertex, the function returnsk. Similarly for the two-argument version. rotate_ghost_triangle_to_standard_formandrotate_triangle_to_standard_formare removed. Usesort_triangleinstead.num_outer_boundary_segmentshas been removed.- Iteration over
AdjacentandAdjacent2Vertexhas been removed. Adjacent2Vertexis now defined byAdjacent2Vertex{IntType,EdgesType}rather thanAdjacent2Vertex{IntType,EdgesType,EdgeType}.clear_empty_points!is nowclear_empty_vertices!.- The fields of
ConvexHullare nowpointsandverticesrather thanpointsandindices. Additionally, the type is nowConvexHull{PointsType, IntegerType}instead ofConvexHull{PointsType, Vector{IntegerType}}. num_pointsis no longer defined onConvexHulls.- The
boundary_map(nowghost_vertex_map) andboundary_index_ranges(nowghost_vertex_ranges) are nowDicts instead ofOrderedDicts. - The constructor
Triangulation(points, triangles, boundary_nodes; kwargs...)now uses the keyword argumentdelete_ghostsinstead ofadd_ghost_triangles, with defaultdelete_ghosts=falsewhich is opposite to the previous defaultadd_ghost_triagnles=false. - The function
get_empty_representative_pointshas been deleted. get_convex_hull_indicesis nowget_convex_hull_vertices.min_maxis removed - just useBase.minmax.nearest_power_of_twohas been removed.intersection_of_ray_with_boundaryhas been removed.identify_sidehas been removed.intersection_of_ray_with_edgehas been removed.- The field names of
TriangulationStatisticshave been renamed to match the new segment terminology, and the fieldnum_convex_hull_pointsis nownum_convex_hull_vertices. get_total_areais nowget_area. The field nametotal_areainTriangulationStatisticsis nowarea.point_position_relative_to_boxhas been removed.is_boundary_edgehas had its definition changed:is_boundary_edge(tri, i, j)is nowis_boundary_edge(tri, j, i), so that we have consistency withis_boundary_triangle.is_outer_boundary_indexis nowis_exterior_ghost_vertex.is_outer_ghost_triangleis nowis_exterior_ghost_triangle.is_outer_ghost_edgeis nowis_exterior_ghost_edge.is_outer_boundary_nodeis nowis_exterior_ghost_vertex.- The keyword arguments in
add_ghost_triangles!anddelete_ghost_triangles!have been removed. - The keyword argument
exterior_curve_indexintriangulatehas been removed. The exterior curves will be automatically computed. peek_triangle_ρhas been removed, andtriangle_dequeue!now does adequeue_pair!.- The keyword
recompute_representative_pointis nowrecompute_representative_pointsintriangulate. - The keyword
add_ghost_trianglesintriangulate_rectangle(andtriangulate_convex) is nowdelete_ghoststo be consistent withtriangulate. The default isdelete_ghosts=false, consistent with the previous default ofadd_ghost_triangles=true. voronoinow has the signaturevoronoi(tri; clip=false, smooth=false, kwargs...)instead ofvoronoi(tri, clip=false)(note the difference inclipas a positional argument to a keyword argument).centroidal_smoothis still exported (thekwargs...are passed to it), but this can be a good alternative.- Gmsh support has been removed.
get!is no longer defined onadjacent2vertex.Certificateis no longer exported.- The arguments to
construct_ghost_vertex_map(previouslyconstruct_boundary_map),construct_boundary_edge_map, andconstruct_ghost_vertex_ranges(previouslyconstruct_boundary_index_ranges) are now positional. get_verticesis no longer exported.map_boundary_indexis nowmap_ghost_vertex.polylabelis no longer an alias forpole_of_inaccessibility.convert_to_boundary_edgeis nowconvert_to_edge_adjoining_ghost_vertex.- References to a
point_orderare now aninsertion_order. add_boundary_information!is no longer exported.balanced_power_of_two_quarternary_splithas been removed.- To provide a custom constraint for triangulation, you now need to provide a constraint of the form
(tri::Triangulation, T::Triangle) -> Boolwith the keyword argumentcustom_constraint, where the returned result istrueif the triangleTshould be refined andfalseotherwise. is_triangle_seditiousno longer has the unused argumentρat the end of its signature.- It is no longer possible to use
delete_point!on points that are on the boundary or adjoin segments. It is too finicky, and for constrained triangulations you shouldn't be doing those operations anyway. For unconstrained triangulations, deleting a point on the boundary might be reasonable but it is difficult anddelete_point!will not update the convex hull field of the triangulation for you either. The previous implementation did work sometimes, but it required playing around with how ghost triangles are interpreted and was unfortunately not reliable. PRs to address this are welcome, but it would need some careful thought and highly extensive testing (e.g. thousands of random tests for random triangulations, especially triangulations with very skinny or very large triangles on the boundary; triangulations with many collinearities such as fromtriangulate_rectangle; triangulations with holes; and triangulations with disjoint domains). is_positively_orientednow only accepts integers for the second argument, to avoid issues with misleading results when testing triangles.- Some methods like
get_right_boundary_nodehave now been defined only forTriangulations, instead of lowering to a more complicated method that uses theadjacentfield and other fields like we used to.
Merged pull requests: - fixed in checkargs() when the boundarynodes has only one curve. (#101) (@himcraft) - v1.0 (#103) (@DanielVandH)
Closed issues: - Spatial sorting for fast insertion (#34) - Add better default methods for interface methods (#62) - Goals for 1.0 (#63) - Use Graphs.jl instead of SimpleGraphs.jl (#78) - Document -1 (#100)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
DelaunayTriangulation.jl - v0.8.12
DelaunayTriangulation v0.8.12
Merged pull requests: - Bump codecov/codecov-action from 3 to 4 (#99) (@dependabot[bot])
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] almost 2 years ago
DelaunayTriangulation.jl - v0.8.11
DelaunayTriangulation v0.8.11
- Fixed a very rare bug that caused, for some pathological examples, constrained triangulations to have triangles with duplicated vertices. This seemed to be caused when a cavity on the side of an inserted segment had a doubly-dangling edge that doubled back on itself, and only sometimes.
Merged pull requests: - Fix pathological case with CDT cavity doubling back on itself (#98) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 2 years ago
DelaunayTriangulation.jl - v0.8.10
DelaunayTriangulation v0.8.10
Merged pull requests: - Fix #96 (#97) (@DanielVandH)
Closed issues: - delete_point! fails for link with concave triangular-indent (#96)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 2 years ago
DelaunayTriangulation.jl - v0.8.9
DelaunayTriangulation v0.8.9
Merged pull requests: - Bump actions/checkout from 3 to 4 (#90) (@dependabot[bot]) - Some fixes for new Makie version (#91) (@DanielVandH) - Test NaturalNeighbours.jl and FiniteVolumeMethod.jl in CI (#92) (@DanielVandH) - Fix undefvar in error (#93) (@DanielVandH) - Fix #94 (#95) (@DanielVandH)
Closed issues: - Infinite loop due to zero-area triangle but positive oriented according to ExactPredicates.jl (#94)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 2 years ago
DelaunayTriangulation.jl - v0.8.8
DelaunayTriangulation v0.8.8
Closed issues:
- UndefVarError: triplot not defined (#88)
Merged pull requests: - Fix docstring for is boundary edge and fix issues on 1.10 (#89) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.7
What's Changed
- Add function for testing orientation of a curve by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/85
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.8.6...v0.8.7
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.8.6
DelaunayTriangulation v0.8.6
Merged pull requests: - Change jumpandmarch for VoronoiTessellations to be called getnearestneighbour (#81) (@DanielVandH) - Change default clipping to false (#82) (@DanielVandH) - Fix jumpandmarch for domains with concave boundaries and for triangulations of disjoint domains (#83) (@DanielVandH) - Some fixes for custom methods (#84) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.5
DelaunayTriangulation v0.8.5
Merged pull requests: - Fix mesh refinement for custom constraints (#79) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.4
DelaunayTriangulation v0.8.4
Merged pull requests: - Clipping Voronoi tessellations to arbitrary bounding boxes (#76) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.3
DelaunayTriangulation v0.8.3
Closed issues: - Integer division error with Float32 for clipped Voronoi (#72) - All coordinates should be internally converted to Float64 (#73)
Merged pull requests:
- Allow set_point! to work for e.g. StaticArrays and Point2f, and fix Float32 examples for many cases (#74) (@DanielVandH)
- Convert all numbers to Float64 internally (#75) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.2
DelaunayTriangulation v0.8.2
Closed issues:
- vertex iterators not updated with delete_boundary_vertices_from_graph! (#70)
Merged pull requests: - Fix iterators when boundary vertices have been removed. (#71) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.1
DelaunayTriangulation v0.8.1
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.8.0
DelaunayTriangulation v0.8.0
Closed issues: - A problem when installing DelaunayTriangulation (#64) - Move MakieCore code into Makie.jl (#65)
Merged pull requests: - Add dependabot (#66) (@DanielVandH) - Bump actions/checkout from 2 to 3 (#67) (@dependabot[bot]) - Remove MakieCore dependency completely (#69) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.7.2
DelaunayTriangulation v0.7.2
Closed issues: - Simplify some of the tests, and improve validate_triangulation (#51) - Error precompiling due to missing method for ExactPredicates v2.2.5, with Julia 1.8.0 and DelaunayTriangulation v0.7.1 (#58)
Merged pull requests: - Extension (#59) (@DanielVandH) - Counting function calls (#60) (@DanielVandH) - Allow for Float32 points (#61) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.7.1
DelaunayTriangulation v0.7.1
Merged pull requests: - Fix Voronoi point location (#57) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.7.0
DelaunayTriangulation v0.7.0
Merged pull requests: - Fix type instabilities with jump-and-march, fix multithreading for peeking multiple values, and more changes (#56) (@DanielVandH)
What's Changed
- Functions related to point location now only have methods defined based on
tri::Triangulation. This is needed for fixing issues with type instabilities. DefaultDictinAdjacenthas now been replaced withDict. This solves some concurrency problems (see #55).- The
peekmethod inadd_point!no longer pops or pushes any new points. This allows it to be used with multithreading. - A function
replace_boundary_triangle_with_ghost_trianglehas been added to utils.jl. This replaces a boundary triangle(u, v, w), opposite some triangle(v, u, g)with a boundary indexg, with that ghost triangle(v, u, g). jump_and_march(::VoronoiTessellation, ::Any)now calls into a separate functionjump_to_voronoi_polygon(::Triangulation, ::Any), allowing someone to find the Voronoi polygon that a point resides in without having to construct the tessellation itself.- CI now sets the JULIANUMTHREADS variable.
- Function for computing the $d$-times iterated neighbourhood of a point, defined by $Nj^d = \bigcup{i \in Nj^{d-1}} Ni \setminus {j}$, $Nj^1 = Nj$.
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.6.4...v0.7.0
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.6.4
What's Changed
- Fix pop_point! for Tuple case when peeking by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/54
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.6.3...v0.6.4
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.6.3
What's Changed
- Check changes to a triangulation without having to make them by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/53
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.6.2...v0.6.3
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.6.2
DelaunayTriangulation v0.6.2
Merged pull requests: - test 1.6 and current release (#50) (@SimonDanisch) - Support 1.6 (#52) (@DanielVandH)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.6.1
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.6.0...v0.6.1
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.6.0
What's Changed
- Fix Convex Hull implementation by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/46
- Voronoi tessellations by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/47
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.5.2...v0.6.0
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.5.2
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.5.1...v0.5.2
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH over 2 years ago
DelaunayTriangulation.jl - v0.5.1
DelaunayTriangulation v0.5.1
Closed issues: - Implement mesh refinement (#30)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 2 years ago
DelaunayTriangulation.jl - v0.5.0
What's Changed
- Put tests into testsets by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/37
- Extra test for a previously-broken jump and march example by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/38
- Remove ElasticArrays dependency, fix bug with polylabel by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/39
- Constrained triangulations by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/40
- Mesh refinement by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/41
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.4.4...v0.5.0
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.4.4
What's Changed
- Convex triangulation and vertex deletion by @DanielVandH in https://github.com/DanielVandH/DelaunayTriangulation.jl/pull/35
Full Changelog: https://github.com/DanielVandH/DelaunayTriangulation.jl/compare/v0.4.3...v0.4.4
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.4.3
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.4.2
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.4.1
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.4.0
Scientific Software - Peer-reviewed
- Julia
Published by DanielVandH almost 3 years ago
DelaunayTriangulation.jl - v0.3.3
DelaunayTriangulation v0.3.3
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.3.2
DelaunayTriangulation v0.3.2
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.3.1
DelaunayTriangulation v0.3.1
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.3.0
DelaunayTriangulation v0.3.0
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.2.0
DelaunayTriangulation v0.2.0
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.1.2
DelaunayTriangulation v0.1.2
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago
DelaunayTriangulation.jl - v0.1.1
DelaunayTriangulation v0.1.1
Closed issues: - Fix triangulation in the presence of collinear points (#6) - Overhead in using new points (#9) - Move away from specific geometric types and just require a specific set of methods (#10) - Method for adding ghost triangles into an already computed triangulation (#13) - Method for removing ghost triangles from a triangulation (#14) - Put 0 into the DelaunayGraph for triangulations computed using de Berg's method (#15) - Convex hull (#16) - Voronoi tessellation (#17) - Bowyer-Watson fails with collinear points (#18) - Do some testing for point location in the presence of collinear points (#19) - de Berg fails in this example (#21) - Add option for skipping points (#22) - TagBot trigger issue (#27) - Check for duplicate points (#28) - Make the extraction of the convex hull more efficient with ghost triangles (#29)
Merged pull requests: - CompatHelper: add new compat entry for DataStructures at version 0.18, (keep existing compat) (#11) (@github-actions[bot])
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 3 years ago