Trait truck_rendimpl::modeling::base::Transform [−]
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
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
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
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
Transform a vector using this transform.
pub fn transform_point(&self, point: P) -> P
Transform a point using this transform.
pub fn concat(&self, other: &Self) -> Self
Combine this transform with another, yielding a new transformation which has the effects of both.
pub fn inverse_transform(&self) -> Option<Self>
Create a transform that "un-does" this one.
Provided methods
pub 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
pub fn concat_self(&mut self, other: &Self)
Combine this transform with another, in-place.
Implementations on Foreign Types
impl<S> Transform<Point3<S>> for Matrix3<S> where
S: BaseFloat,
S: BaseFloat,
pub fn one() -> Matrix3<S>
pub fn look_at(eye: Point3<S>, center: Point3<S>, up: Vector3<S>) -> Matrix3<S>
pub fn transform_vector(&self, vec: Vector3<S>) -> Vector3<S>
pub fn transform_point(&self, point: Point3<S>) -> Point3<S>
pub fn concat(&self, other: &Matrix3<S>) -> Matrix3<S>
pub fn inverse_transform(&self) -> Option<Matrix3<S>>
impl<S> Transform<Point3<S>> for Matrix4<S> where
S: BaseFloat,
S: BaseFloat,
pub fn one() -> Matrix4<S>
pub fn look_at(eye: Point3<S>, center: Point3<S>, up: Vector3<S>) -> Matrix4<S>
pub fn transform_vector(&self, vec: Vector3<S>) -> Vector3<S>
pub fn transform_point(&self, point: Point3<S>) -> Point3<S>
pub fn concat(&self, other: &Matrix4<S>) -> Matrix4<S>
pub fn inverse_transform(&self) -> Option<Matrix4<S>>
impl<S> Transform<Point2<S>> for Matrix3<S> where
S: BaseFloat,
S: BaseFloat,
pub fn one() -> Matrix3<S>
pub fn look_at(eye: Point2<S>, center: Point2<S>, up: Vector2<S>) -> Matrix3<S>
pub fn transform_vector(&self, vec: Vector2<S>) -> Vector2<S>
pub fn transform_point(&self, point: Point2<S>) -> Point2<S>
pub fn concat(&self, other: &Matrix3<S>) -> Matrix3<S>
pub fn inverse_transform(&self) -> Option<Matrix3<S>>
impl<P, R> Transform<P> for Decomposed<<P as EuclideanSpace>::Diff, R> where
R: Rotation<P>,
P: EuclideanSpace,
<P as EuclideanSpace>::Scalar: BaseFloat,
<P as EuclideanSpace>::Diff: VectorSpace,
R: Rotation<P>,
P: EuclideanSpace,
<P as EuclideanSpace>::Scalar: BaseFloat,
<P as EuclideanSpace>::Diff: VectorSpace,
pub fn one() -> Decomposed<<P as EuclideanSpace>::Diff, R>
pub fn look_at(
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
pub fn transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
pub 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>
pub fn transform_point(&self, point: P) -> P
pub fn concat(
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
pub fn inverse_transform(
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>