[−][src]Trait nannou::math::Transform
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 as EuclideanSpace>::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 as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::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.
Provided methods
fn inverse_transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
Inverse transform a vector using this transform
fn concat_self(&mut self, other: &Self)
Combine this transform with another, in-place.
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]
P: EuclideanSpace,
R: Rotation<P>,
<P as EuclideanSpace>::Scalar: BaseFloat,
<P as EuclideanSpace>::Diff: VectorSpace,
fn one() -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
fn look_at(
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
fn transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
[src]
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
fn inverse_transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
[src]
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
fn transform_point(&self, point: P) -> P
[src]
fn concat(
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
fn inverse_transform(
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>
[src]
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>
impl<S> Transform<Vector3<S>> for Transform<S> where
S: BaseFloat,
[src]
S: BaseFloat,
fn one() -> Self
[src]
fn look_at(_eye: Point3<S>, _center: Point3<S>, _up: Vector3<S>) -> Self
[src]
fn transform_vector(&self, _vec: Vector3<S>) -> Vector3<S>
[src]
fn inverse_transform_vector(&self, _vec: Vector3<S>) -> Option<Vector3<S>>
[src]
fn transform_point(&self, _point: Point3<S>) -> Point3<S>
[src]
fn concat(&self, _other: &Self) -> Self
[src]
fn inverse_transform(&self) -> Option<Self>
[src]
impl<S> Transform<Point2<S>> for Matrix3<S> where
S: BaseFloat,
[src]
S: BaseFloat,
fn one() -> Matrix3<S>
[src]
fn look_at(eye: Point2<S>, center: Point2<S>, up: Vector2<S>) -> Matrix3<S>
[src]
fn transform_vector(&self, vec: Vector2<S>) -> Vector2<S>
[src]
fn transform_point(&self, point: Point2<S>) -> Point2<S>
[src]
fn concat(&self, other: &Matrix3<S>) -> Matrix3<S>
[src]
fn inverse_transform(&self) -> Option<Matrix3<S>>
[src]
impl<S> Transform<Point3<S>> for Matrix3<S> where
S: BaseFloat,
[src]
S: BaseFloat,
fn one() -> Matrix3<S>
[src]
fn look_at(eye: Point3<S>, center: Point3<S>, up: Vector3<S>) -> Matrix3<S>
[src]
fn transform_vector(&self, vec: Vector3<S>) -> Vector3<S>
[src]
fn transform_point(&self, point: Point3<S>) -> Point3<S>
[src]
fn concat(&self, other: &Matrix3<S>) -> Matrix3<S>
[src]
fn inverse_transform(&self) -> Option<Matrix3<S>>
[src]
impl<S> Transform<Point3<S>> for Matrix4<S> where
S: BaseFloat,
[src]
S: BaseFloat,