pub trait Transform<P>: Sized + Onewhere
    P: EuclideanSpace,{
    // Required methods
    fn look_at(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self;
    fn look_at_rh(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self;
    fn look_at_lh(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self;
    fn transform_vector(
        &self,
        vec: <P as EuclideanSpace>::Diff
    ) -> <P as EuclideanSpace>::Diff;
    fn transform_point(&self, point: P) -> P;
    fn concat(&self, other: &Self) -> Self;
    fn inverse_transform(&self) -> Option<Self>;

    // Provided methods
    fn inverse_transform_vector(
        &self,
        vec: <P as EuclideanSpace>::Diff
    ) -> Option<<P as EuclideanSpace>::Diff> { ... }
    fn concat_self(&mut self, other: &Self) { ... }
}
Expand description

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

Required Methods§

source

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

👎Deprecated: Use look_at_rh or look_at_lh

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

source

fn look_at_rh(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self

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

source

fn look_at_lh(eye: P, center: P, up: <P as EuclideanSpace>::Diff) -> Self

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

source

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

Transform a vector using this transform.

source

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

Transform a point using this transform.

source

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

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

source

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

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

Provided Methods§

source

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

Inverse transform a vector using this transform

source

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

Combine this transform with another, in-place.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<P, R> Transform<P> for Decomposed<<P as EuclideanSpace>::Diff, R>where P: EuclideanSpace, R: Rotation<Space = P>, <P as EuclideanSpace>::Scalar: BaseFloat, <P as EuclideanSpace>::Diff: VectorSpace,

source§

impl<S> Transform<Point2<S>> for Matrix3<S>where S: BaseFloat,

source§

impl<S> Transform<Point3<S>> for Matrix3<S>where S: BaseFloat,

source§

impl<S> Transform<Point3<S>> for Matrix4<S>where S: BaseFloat,