i_triangle 0.45.0

Polygon Triangulation Library: Efficient Delaunay Triangulation for Complex Shapes.
Documentation
use crate::geom::point::IndexPoint;
use crate::int::monotone::v_segment::VSegment;
use alloc::vec::Vec;
use i_overlay::i_float::int::number::int::IntNumber;
use i_tree::set::sort::KeyValue;

#[derive(Debug, Clone)]
pub(super) struct FlatSection<I: IntNumber> {
    pub(super) sort: VSegment<I>,
    pub(super) points: Vec<IndexPoint<I>>,
}

impl<I: IntNumber> Default for FlatSection<I> {
    #[inline]
    fn default() -> Self {
        Self {
            sort: Default::default(),
            points: Vec::new(),
        }
    }
}

impl<I: IntNumber> KeyValue<VSegment<I>> for FlatSection<I> {
    #[inline]
    fn key(&self) -> &VSegment<I> {
        &self.sort
    }
}