use super::*;
impl<T> From<&Triangle<T>> for Polygon<T>
where
T: Clone,
{
fn from(v: &Triangle<T>) -> Self {
Self { vertex: vec![v.a.clone(), v.b.clone(), v.c.clone()] }
}
}
impl<T> From<&Square<T>> for Polygon<T>
where
T: Clone + Add<Output = T>,
{
fn from(v: &Square<T>) -> Self {
Self { vertex: v.vertexes() }
}
}
impl<T> From<&Rectangle<T>> for Polygon<T>
where
T: Clone + Add<Output = T>,
{
fn from(v: &Rectangle<T>) -> Self {
Self { vertex: v.vertexes() }
}
}
impl<T> From<&Parallelogram<T>> for Polygon<T>
where
T: Clone + Num,
{
fn from(v: &Parallelogram<T>) -> Self {
Self { vertex: v.vertexes() }
}
}