pub enum Dimensions {
Empty,
ZeroDimensional,
OneDimensional,
TwoDimensional,
}
Expand description
Geometries can have 0, 1, or two dimensions. Or, in the case of an empty
geometry, a special Empty
dimensionality.
§Examples
use geo_types::{Point, Rect, line_string};
use geo::dimensions::{HasDimensions, Dimensions};
let point = Point::new(0.0, 5.0);
let line_string = line_string![(x: 0.0, y: 0.0), (x: 5.0, y: 5.0), (x: 0.0, y: 5.0)];
let rect = Rect::new((0.0, 0.0), (10.0, 10.0));
assert_eq!(Dimensions::ZeroDimensional, point.dimensions());
assert_eq!(Dimensions::OneDimensional, line_string.dimensions());
assert_eq!(Dimensions::TwoDimensional, rect.dimensions());
assert!(point.dimensions() < line_string.dimensions());
assert!(rect.dimensions() > line_string.dimensions());
Variants§
Empty
Some geometries, like a MultiPoint
or GeometryCollection
may have no elements - thus no
dimensions. Note that this is distinct from being ZeroDimensional
, like a Point
.
ZeroDimensional
Dimension of a point
OneDimensional
Dimension of a line or curve
TwoDimensional
Dimension of a surface
Trait Implementations§
Source§impl Clone for Dimensions
impl Clone for Dimensions
Source§fn clone(&self) -> Dimensions
fn clone(&self) -> Dimensions
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Dimensions
impl Debug for Dimensions
Source§impl Ord for Dimensions
impl Ord for Dimensions
Source§fn cmp(&self, other: &Dimensions) -> Ordering
fn cmp(&self, other: &Dimensions) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for Dimensions
impl PartialEq for Dimensions
Source§impl PartialOrd for Dimensions
impl PartialOrd for Dimensions
impl Copy for Dimensions
impl Eq for Dimensions
impl StructuralPartialEq for Dimensions
Auto Trait Implementations§
impl Freeze for Dimensions
impl RefUnwindSafe for Dimensions
impl Send for Dimensions
impl Sync for Dimensions
impl Unpin for Dimensions
impl UnwindSafe for Dimensions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more