procedural_modelling 0.4.2

A framework-agnostic Procedural Modelling crate.
Documentation
use super::HalfEdgeMeshImpl;
use crate::{
    halfedge::{HalfEdgeImplMeshType, BackwardEdgeIterator, ForwardEdgeIterator},
    mesh::{HalfEdgeMesh, MeshBasics},
};

impl<T: HalfEdgeImplMeshType> HalfEdgeMesh<T> for HalfEdgeMeshImpl<T> {
    #[allow(refining_impl_trait)]
    #[inline(always)]
    fn edges_from<'a>(&'a self, e: T::E) -> ForwardEdgeIterator<'a, T> {
        ForwardEdgeIterator::<'a, T>::new(self.edge(e).clone(), self)
    }

    #[allow(refining_impl_trait)]
    #[inline(always)]
    fn edges_back_from<'a>(&'a self, e: T::E) -> BackwardEdgeIterator<'a, T> {
        BackwardEdgeIterator::<'a, T>::new(self.edge(e).clone(), self)
    }
}