Trait nannou::math::prelude::Transform[][src]

pub trait Transform<P> where
    P: EuclideanSpace
{ pub fn one() -> Self;
pub fn look_at(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self;
pub fn transform_vector(
        &self,
        vec: <P as EuclideanSpace>::Diff
    ) -> <P as EuclideanSpace>::Diff;
pub fn transform_point(&self, point: P) -> P;
pub fn concat(&self, other: &Self) -> Self;
pub fn inverse_transform(&self) -> Option<Self>; pub fn inverse_transform_vector(
        &self,
        vec: <P as EuclideanSpace>::Diff
    ) -> Option<<P as EuclideanSpace>::Diff> { ... }
pub 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

pub fn one() -> Self[src]

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

pub fn look_at(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self[src]

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

pub fn transform_vector(
    &self,
    vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
[src]

Transform a vector using this transform.

pub fn transform_point(&self, point: P) -> P[src]

Transform a point using this transform.

pub fn concat(&self, other: &Self) -> Self[src]

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

pub fn inverse_transform(&self) -> Option<Self>[src]

Create a transform that “un-does” this one.

Loading content...

Provided methods

pub fn inverse_transform_vector(
    &self,
    vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
[src]

Inverse transform a vector using this transform

pub fn concat_self(&mut self, other: &Self)[src]

Combine this transform with another, in-place.

Loading content...

Implementors

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

impl<S> Transform<Vector3<S>> for Transform<S> where
    S: BaseFloat
[src]

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

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

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

Loading content...