use crate::transformer::Transformers; use crate::point::Point; use crate::worldstate::WorldState; use serde::{Serialize,Deserialize}; /// Flip Horizontal #[derive(Serialize,Deserialize,Debug,Clone,Copy)] pub struct FlipHorizontal { x: f32, } impl Transformers for FlipHorizontal { fn apply(&self, point_list: &[Point], _ws: &WorldState) -> Vec { point_list.iter() .map(| pt | { let dx = pt.x - self.x; Point { x: dx - 2. * dx, ..*pt } }).collect() } }