Struct geo::LineString
[−]
[src]
pub struct LineString<T>(pub Vec<Point<T>>)
where
T: Float;
A LineString, which is an ordered collection of Point
s.
Create a LineString by calling it directly:
use geo::{LineString, Point}; let line = LineString(vec![Point::new(0., 0.), Point::new(10., 0.)]);
Converting a Vec
of Point
-like things:
let line: LineString<f32> = vec![(0., 0.), (10., 0.)].into();
Or collect
ing from a Point iterator
let mut points = vec![Point::new(0., 0.), Point::new(10., 0.)]; let line: LineString<f32> = points.into_iter().collect();
You can iterate over the points in the LineString
use geo::{LineString, Point}; let line = LineString(vec![Point::new(0., 0.), Point::new(10., 0.)]); for point in line { println!("Point x = {}, y = {}", point.x(), point.y()); }
Trait Implementations
impl<T: PartialEq> PartialEq for LineString<T> where
T: Float,
[src]
T: Float,
fn eq(&self, __arg_0: &LineString<T>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &LineString<T>) -> bool
[src]
This method tests for !=
.
impl<T: Clone> Clone for LineString<T> where
T: Float,
[src]
T: Float,
fn clone(&self) -> LineString<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for LineString<T> where
T: Float,
[src]
T: Float,
impl<T: Float, IP: Into<Point<T>>> From<Vec<IP>> for LineString<T>
[src]
Turn a Vec
of Point
-ish objects into a LineString
.
impl<T: Float, IP: Into<Point<T>>> FromIterator<IP> for LineString<T>
[src]
Turn a Point
-ish iterator into a LineString
.
fn from_iter<I: IntoIterator<Item = IP>>(iter: I) -> Self
[src]
Creates a value from an iterator. Read more
impl<T: Float> IntoIterator for LineString<T>
[src]
Iterate over all the Points in this linestring
type Item = Point<T>
The type of the elements being iterated over.
type IntoIter = IntoIter<Point<T>>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
Creates an iterator from a value. Read more
impl<T> Centroid<T> for LineString<T> where
T: Float,
[src]
T: Float,
impl<T> Contains<Point<T>> for LineString<T> where
T: Float,
[src]
T: Float,
fn contains(&self, p: &Point<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<Line<T>> for LineString<T> where
T: Float,
[src]
T: Float,
fn contains(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Intersects<Line<T>> for LineString<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<LineString<T>> for LineString<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, linestring: &LineString<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Length<T> for LineString<T> where
T: Float,
[src]
T: Float,
impl<T> Distance<T, Point<T>> for LineString<T> where
T: Float,
[src]
T: Float,
impl<T> BoundingBox<T> for LineString<T> where
T: Float,
[src]
T: Float,
impl<T> Simplify<T> for LineString<T> where
T: Float,
[src]
T: Float,
fn simplify(&self, epsilon: &T) -> LineString<T>
[src]
Returns the simplified representation of a geometry, using the Ramer–Douglas–Peucker algorithm Read more
impl<T> SimplifyVW<T> for LineString<T> where
T: Float,
[src]
T: Float,
fn simplifyvw(&self, epsilon: &T) -> LineString<T>
[src]
Returns the simplified representation of a geometry, using the Visvalingam-Whyatt algorithm Read more
impl<T> ConvexHull<T> for LineString<T> where
T: Float,
[src]
T: Float,
fn convex_hull(&self) -> Polygon<T>
[src]
Returns the convex hull of a Polygon. The hull is always oriented counter-clockwise. Read more
impl<T> Rotate<T> for LineString<T> where
T: Float,
[src]
T: Float,
fn rotate(&self, angle: T) -> Self
[src]
Rotate the LineString about its centroid by the given number of degrees
impl<T> RotatePoint<T> for LineString<T> where
T: Float,
[src]
T: Float,
fn rotate_around_point(&self, angle: T, point: &Point<T>) -> Self
[src]
Rotate the LineString about a point by the given number of degrees