Trait geo::algorithm::rotate::RotatePoint
[−]
[src]
pub trait RotatePoint<T> { fn rotate_around_point(&self, angle: T, point: &Point<T>) -> Self
where
T: Float; }
Required Methods
fn rotate_around_point(&self, angle: T, point: &Point<T>) -> Self where
T: Float,
T: Float,
Rotate a Geometry around an arbitrary point by an angle, given in degrees
Positive angles are counter-clockwise, and negative angles are clockwise rotations.
use geo::{Point, LineString}; use geo::algorithm::rotate::{RotatePoint}; 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_around_point(-45.0, &Point::new(10.0, 0.0)); let mut correct = Vec::new(); correct.push(Point::new(2.9289321881345245, 7.071067811865475)); correct.push(Point::new(10.0, 7.0710678118654755)); correct.push(Point::new(17.071067811865476, 7.0710678118654755)); let correct_ls = LineString(correct); assert_eq!(rotated, correct_ls);