Trait cgmath::Point [] [src]

pub trait Point<S: BaseNum, V: Vector<S>>: Array1<S> + Clone {
    fn origin() -> Self;
    fn from_vec(v: &V) -> Self;
    fn to_vec(&self) -> V;
    fn mul_s(&self, s: S) -> Self;
    fn div_s(&self, s: S) -> Self;
    fn rem_s(&self, s: S) -> Self;
    fn add_v(&self, v: &V) -> Self;
    fn sub_p(&self, p: &Self) -> V;
    fn mul_self_s(&mut self, s: S);
    fn div_self_s(&mut self, s: S);
    fn rem_self_s(&mut self, s: S);
    fn add_self_v(&mut self, v: &V);
    fn dot(&self, v: &V) -> S;
    fn min(&self, p: &Self) -> Self;
    fn max(&self, p: &Self) -> Self;
}

Specifies the numeric operations for point types.

Required Methods

fn origin() -> Self

Create a point at the origin.

fn from_vec(v: &V) -> Self

Create a point from a vector.

fn to_vec(&self) -> V

Convert a point to a vector.

fn mul_s(&self, s: S) -> Self

Multiply each component by a scalar, returning the new point.

fn div_s(&self, s: S) -> Self

Divide each component by a scalar, returning the new point.

fn rem_s(&self, s: S) -> Self

Subtract a scalar from each component, returning the new point.

fn add_v(&self, v: &V) -> Self

Add a vector to this point, returning the new point.

fn sub_p(&self, p: &Self) -> V

Subtract another point from this one, returning a new vector.

fn mul_self_s(&mut self, s: S)

Multiply each component by a scalar, in-place.

fn div_self_s(&mut self, s: S)

Divide each component by a scalar, in-place.

fn rem_self_s(&mut self, s: S)

Take the remainder of each component by a scalar, in-place.

fn add_self_v(&mut self, v: &V)

Add a vector to this point, in-place.

fn dot(&self, v: &V) -> S

This is a weird one, but its useful for plane calculations.

fn min(&self, p: &Self) -> Self

fn max(&self, p: &Self) -> Self

Implementors