Trait geo::algorithm::rotate::Rotate
[−]
[src]
pub trait Rotate<T> { fn rotate(&self, angle: T) -> Self
where
T: Float; }
Required Methods
fn rotate(&self, angle: T) -> Self where
T: Float,
T: Float,
Rotate a Geometry around its centroid by an angle, in degrees
Positive angles are counter-clockwise, and negative angles are clockwise rotations.
use geo::{Point, LineString}; use geo::algorithm::rotate::{Rotate}; let mut vec = Vec::new(); vec.push(Point::new(0.0, 0.0)); vec.push(Point::new(5.0, 5.0)); vec.push(Point::new(10.0, 10.0)); let linestring = LineString(vec); let rotated = linestring.rotate(-45.0); let mut correct = Vec::new(); correct.push(Point::new(-2.0710678118654755, 5.0)); correct.push(Point::new(5.0, 5.0)); correct.push(Point::new(12.071067811865476, 5.0)); let correct_ls = LineString(correct); assert_eq!(rotated, correct_ls);
Implementors
impl<T> Rotate<T> for Point<T> where
T: Float,impl<T> Rotate<T> for Line<T> where
T: Float,impl<T> Rotate<T> for LineString<T> where
T: Float,impl<T> Rotate<T> for Polygon<T> where
T: Float + FromPrimitive,impl<T> Rotate<T> for MultiPolygon<T> where
T: Float + FromPrimitive,impl<T> Rotate<T> for MultiLineString<T> where
T: Float + FromPrimitive,impl<T> Rotate<T> for MultiPoint<T> where
T: Float + FromPrimitive,