Trait geo::algorithm::rotate::Rotate [] [src]

pub trait Rotate<T> {
    fn rotate(&self, angle: T) -> Self
    where
        T: Float
; }

Required Methods

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