geo_types::geometry

Type Alias Coordinate

Source
pub type Coordinate<T = f64> = Coord<T>;
👎Deprecated: Renamed to geo_types::Coord (or geo::Coord)

Aliased Type§

struct Coordinate<T = f64> {
    pub x: T,
    pub y: T,
}

Fields§

§x: T§y: T

Implementations

Source§

impl<T: CoordNum> Coord<T>

Create a coordinate at the origin.

§Examples

use geo_types::Coord;
use num_traits::Zero;

let p: Coord = Zero::zero();

assert_eq!(p.x, 0.);
assert_eq!(p.y, 0.);
Source

pub fn zero() -> Self

Source§

impl<T: CoordNum> Coord<T>

Source

pub fn x_y(&self) -> (T, T)

Returns a tuple that contains the x/horizontal & y/vertical component of the coordinate.

§Examples
use geo_types::coord;

let c = coord! {
    x: 40.02f64,
    y: 116.34,
};
let (x, y) = c.x_y();

assert_eq!(y, 116.34);
assert_eq!(x, 40.02f64);

Trait Implementations

Source§

impl<T: CoordNum> Add for Coord<T>

Add two coordinates.

§Examples

use geo_types::coord;

let p = coord! { x: 1.25, y: 2.5 };
let q = coord! { x: 1.5, y: 2.5 };
let sum = p + q;

assert_eq!(sum.x, 2.75);
assert_eq!(sum.y, 5.0);
Source§

type Output = Coord<T>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
Source§

impl<T: CoordNum> AsRef<Coord<T>> for Coord<T>

Source§

fn as_ref(&self) -> &Coord<T>

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Clone + CoordNum> Clone for Coord<T>

Source§

fn clone(&self) -> Coord<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: CoordNum> Debug for Coord<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Default + CoordNum> Default for Coord<T>

Source§

fn default() -> Coord<T>

Returns the “default value” for a type. Read more
Source§

impl<T: CoordNum> Div<T> for Coord<T>

Divide coordinate wise by a scalar.

§Examples

use geo_types::coord;

let p = coord! { x: 5., y: 10. };
let q = p / 4.;

assert_eq!(q.x, 1.25);
assert_eq!(q.y, 2.5);
Source§

type Output = Coord<T>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: T) -> Self

Performs the / operation. Read more
Source§

impl<T: CoordNum> From<[T; 2]> for Coord<T>

Source§

fn from(coords: [T; 2]) -> Self

Converts to this type from the input type.
Source§

impl<T: CoordNum> From<(T, T)> for Coord<T>

Source§

fn from(coords: (T, T)) -> Self

Converts to this type from the input type.
Source§

impl<T: CoordNum> From<Point<T>> for Coord<T>

Source§

fn from(point: Point<T>) -> Self

Converts to this type from the input type.
Source§

impl<T: Hash + CoordNum> Hash for Coord<T>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T: CoordNum> Mul<T> for Coord<T>

Multiply coordinate wise by a scalar.

§Examples

use geo_types::coord;

let p = coord! { x: 1.25, y: 2.5 };
let q = p * 4.;

assert_eq!(q.x, 5.0);
assert_eq!(q.y, 10.0);
Source§

type Output = Coord<T>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: T) -> Self

Performs the * operation. Read more
Source§

impl<T> Neg for Coord<T>
where T: CoordNum + Neg<Output = T>,

Negate a coordinate.

§Examples

use geo_types::coord;

let p = coord! { x: 1.25, y: 2.5 };
let q = -p;

assert_eq!(q.x, -p.x);
assert_eq!(q.y, -p.y);
Source§

type Output = Coord<T>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self

Performs the unary - operation. Read more
Source§

impl<T: PartialEq + CoordNum> PartialEq for Coord<T>

Source§

fn eq(&self, other: &Coord<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: CoordNum> Sub for Coord<T>

Subtract a coordinate from another.

§Examples

use geo_types::coord;

let p = coord! { x: 1.5, y: 2.5 };
let q = coord! { x: 1.25, y: 2.5 };
let diff = p - q;

assert_eq!(diff.x, 0.25);
assert_eq!(diff.y, 0.);
Source§

type Output = Coord<T>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
Source§

impl<T: CoordNum> Zero for Coord<T>

Source§

fn zero() -> Self

Returns the additive identity element of Self, 0. Read more
Source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
Source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
Source§

impl<T: Copy + CoordNum> Copy for Coord<T>

Source§

impl<T: Eq + CoordNum> Eq for Coord<T>

Source§

impl<T: CoordNum> StructuralPartialEq for Coord<T>