diff --git a/README.md b/README.md index 7e0a8e7..57df46a 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Delaunay triangulations for the rust ecosystem. - Allows both incremental and bulk loading creation of triangulations - Support for vertex removal - 2D constrained Delaunay triangulation (CDT) +- [Delaunay refinement](https://en.wikipedia.org/wiki/Delaunay_refinement) - Uses precise geometric predicates to prevent incorrect geometries due to rounding issues - Supports extracting the Voronoi diagram @@ -32,7 +33,6 @@ Project goals, in the order of their importance: For Spade 2.x: - Add back the removed interpolation methods (natural neighbor interpolation, #67) - - Delaunay refinement (#66) For Spade 3: - Possibly base `spade` on `nalgebra` as underlying vector and matrix library. Not much else planned yet! diff --git a/src/delaunay_core/refinement.rs b/src/delaunay_core/refinement.rs index ae08ec4..4bf49f2 100644 --- a/src/delaunay_core/refinement.rs +++ b/src/delaunay_core/refinement.rs @@ -473,10 +473,19 @@ where /// Use [RefinementResult::refinement_complete] to identify if a refinement operation has succeeded without running out of /// vertices. /// - /// To prevent this from happening, consider either lowering the minimum angle limit + /// For mitigation, consider either lowering the minimum angle limit /// (see [RefinementParameters::with_angle_limit]) or introduce a /// [minimum required area](RefinementParameters::with_min_required_area). /// + /// Meshes with very small input angles (angles between two constraint edges) may lead to poorly refined results. + /// Please consider providing a bug report if you encounter an input mesh which you think isn't refined well. + /// + /// # Stability guarantees + /// + /// While changing the interface of this method is considered to be a breaking change, changes to the specific + /// refinement process (e.g. which faces are split in which order) are not. Any patch release may change how + /// the same input mesh is being refined. + /// /// # References /// /// This is an adaption of the classical refinement algorithms introduced by Jim Ruppert and Paul Chew.