1 2 3 4 5 6 7 8 9 10
use crate::geometry::{Point, Vector};
/// A trait for transformations in 2-dimensional Euclidian space.
pub trait Transformation {
/// Applies `self` to the given `point`.
fn transform_point(&self, point: Point) -> Point;
/// Applies `self` to the given `vector`.
fn transform_vector(&self, vector: Vector) -> Vector;
}