plexus 0.0.11

2D and 3D mesh processing.
Documentation
pub trait IntoKeyedSource<T>: Sized {
    fn into_keyed_source(self) -> T;
}

pub trait FromKeyedSource<T>: Sized {
    fn from_keyed_source(source: T) -> Option<Self>;
}

pub trait IntoView<T>: Sized {
    fn into_view(self) -> Option<T>;
}

impl<T, U> IntoView<U> for T
where
    T: Sized,
    U: FromKeyedSource<T>,
{
    fn into_view(self) -> Option<U> {
        U::from_keyed_source(self)
    }
}