[][src]Trait cgmath::Transform

pub trait Transform<P: EuclideanSpace>: Sized {
    fn one() -> Self;
fn look_at(eye: P, center: P, up: P::Diff) -> Self;
fn transform_vector(&self, vec: P::Diff) -> P::Diff;
fn transform_point(&self, point: P) -> P;
fn concat(&self, other: &Self) -> Self;
fn inverse_transform(&self) -> Option<Self>; fn inverse_transform_vector(&self, vec: P::Diff) -> Option<P::Diff> { ... }
fn concat_self(&mut self, other: &Self) { ... } }

A trait representing an affine transformation that can be applied to points or vectors. An affine transformation is one which

Required methods

fn one() -> Self

Create an identity transformation. That is, a transformation which does nothing.

fn look_at(eye: P, center: P, up: P::Diff) -> Self

Create a transformation that rotates a vector to look at center from eye, using up for orientation.

fn transform_vector(&self, vec: P::Diff) -> P::Diff

Transform a vector using this transform.

fn transform_point(&self, point: P) -> P

Transform a point using this transform.

fn concat(&self, other: &Self) -> Self

Combine this transform with another, yielding a new transformation which has the effects of both.

fn inverse_transform(&self) -> Option<Self>

Create a transform that "un-does" this one.

Loading content...

Provided methods

fn inverse_transform_vector(&self, vec: P::Diff) -> Option<P::Diff>

Inverse transform a vector using this transform

fn concat_self(&mut self, other: &Self)

Combine this transform with another, in-place.

Loading content...

Implementors

impl<P: EuclideanSpace, R: Rotation<P>> Transform<P> for Decomposed<P::Diff, R> where
    P::Scalar: BaseFloat,
    P::Diff: VectorSpace
[src]

impl<S: BaseFloat> Transform<Point2<S>> for Matrix3<S>[src]

impl<S: BaseFloat> Transform<Point3<S>> for Matrix3<S>[src]

impl<S: BaseFloat> Transform<Point3<S>> for Matrix4<S>[src]

Loading content...