i_triangle 0.42.0

Polygon Triangulation Library: Efficient Delaunay Triangulation for Complex Shapes.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::float::delaunay::Delaunay;
use alloc::vec::Vec;
use i_overlay::i_float::float::compatible::FloatPointCompatible;
use i_overlay::i_float::float::number::FloatNumber;
use i_overlay::i_shape::base::data::Contour;
use i_overlay::i_shape::float::adapter::ShapeToFloat;

impl<P: FloatPointCompatible<T>, T: FloatNumber> Delaunay<P, T> {
    /// Groups triangles into non-overlapping convex polygons in counter-clockwise order.
    ///
    /// Returns a list of float-based [`Contour<P>`]s.
    #[inline]
    pub fn to_convex_polygons(&self) -> Vec<Contour<P>> {
        self.delaunay.to_convex_polygons().to_float(&self.adapter)
    }
}