building_blocks_core 0.7.1

The core data types for defining 2D and 3D integer lattices.
Documentation
use super::*;

impl<T> From<mint::Point2<T>> for Point2<T> {
    #[inline]
    fn from(p: mint::Point2<T>) -> Self {
        PointN([p.x, p.y])
    }
}

impl<T> From<Point2<T>> for mint::Point2<T>
where
    T: Clone,
{
    #[inline]
    fn from(p: Point2<T>) -> Self {
        mint::Point2::from_slice(&p.0)
    }
}

impl<T> From<mint::Vector2<T>> for Point2<T> {
    #[inline]
    fn from(p: mint::Vector2<T>) -> Self {
        PointN([p.x, p.y])
    }
}

impl<T> From<Point2<T>> for mint::Vector2<T>
where
    T: Clone,
{
    #[inline]
    fn from(p: Point2<T>) -> Self {
        mint::Vector2::from_slice(&p.0)
    }
}

impl<T> From<mint::Point3<T>> for Point3<T> {
    #[inline]
    fn from(p: mint::Point3<T>) -> Self {
        PointN([p.x, p.y, p.z])
    }
}

impl<T> From<Point3<T>> for mint::Point3<T>
where
    T: Clone,
{
    #[inline]
    fn from(p: Point3<T>) -> Self {
        mint::Point3::from_slice(&p.0)
    }
}

impl<T> From<mint::Vector3<T>> for Point3<T> {
    #[inline]
    fn from(p: mint::Vector3<T>) -> Self {
        PointN([p.x, p.y, p.z])
    }
}

impl<T> From<Point3<T>> for mint::Vector3<T>
where
    T: Clone,
{
    #[inline]
    fn from(p: Point3<T>) -> Self {
        mint::Vector3::from_slice(&p.0)
    }
}