Struct cgmath::Decomposed [−][src]
pub struct Decomposed<V: VectorSpace, R> {
pub scale: V::Scalar,
pub rot: R,
pub disp: V,
}
Expand description
A generic transformation consisting of a rotation, displacement vector and scale amount.
Fields
scale: V::Scalar
rot: R
disp: V
Trait Implementations
impl<S: VectorSpace, R, E: BaseFloat> AbsDiffEq<Decomposed<S, R>> for Decomposed<S, R> where
S: AbsDiffEq<Epsilon = E>,
S::Scalar: AbsDiffEq<Epsilon = E>,
R: AbsDiffEq<Epsilon = E>,
impl<S: VectorSpace, R, E: BaseFloat> AbsDiffEq<Decomposed<S, R>> for Decomposed<S, R> where
S: AbsDiffEq<Epsilon = E>,
S::Scalar: AbsDiffEq<Epsilon = E>,
R: AbsDiffEq<Epsilon = E>,
type Epsilon = E
type Epsilon = E
Used for specifying relative comparisons.
The default tolerance to use when testing values that are close together. Read more
A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
The inverse of AbsDiffEq::abs_diff_eq
.
Performs the conversion.
Performs the conversion.
impl<P: EuclideanSpace, R: Rotation<Space = P>> Mul<Decomposed<<P as EuclideanSpace>::Diff, R>> for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
P::Diff: VectorSpace,
impl<P: EuclideanSpace, R: Rotation<Space = P>> Mul<Decomposed<<P as EuclideanSpace>::Diff, R>> for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
P::Diff: VectorSpace,
Multiplies the two transforms together.
The result should be as if the two transforms were converted
to matrices, then multiplied, then converted back with
a (currently nonexistent) function that tries to convert
a matrix into a Decomposed
.
type Output = Self
type Output = Self
The resulting type after applying the *
operator.
impl<P: EuclideanSpace, R: Rotation<Space = P>> One for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
impl<P: EuclideanSpace, R: Rotation<Space = P>> One for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
impl<V: PartialEq + VectorSpace, R: PartialEq> PartialEq<Decomposed<V, R>> for Decomposed<V, R> where
V::Scalar: PartialEq,
impl<V: PartialEq + VectorSpace, R: PartialEq> PartialEq<Decomposed<V, R>> for Decomposed<V, R> where
V::Scalar: PartialEq,
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<S: VectorSpace, R, E: BaseFloat> RelativeEq<Decomposed<S, R>> for Decomposed<S, R> where
S: RelativeEq<Epsilon = E>,
S::Scalar: RelativeEq<Epsilon = E>,
R: RelativeEq<Epsilon = E>,
impl<S: VectorSpace, R, E: BaseFloat> RelativeEq<Decomposed<S, R>> for Decomposed<S, R> where
S: RelativeEq<Epsilon = E>,
S::Scalar: RelativeEq<Epsilon = E>,
R: RelativeEq<Epsilon = E>,
The default relative tolerance for testing values that are far-apart. Read more
A test for equality that uses a relative comparison if the values are far apart.
The inverse of RelativeEq::relative_eq
.
impl<P: EuclideanSpace, R: Rotation<Space = P>> Transform<P> for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
P::Diff: VectorSpace,
impl<P: EuclideanSpace, R: Rotation<Space = P>> Transform<P> for Decomposed<P::Diff, R> where
P::Scalar: BaseFloat,
P::Diff: VectorSpace,
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. Read more
Create a transformation that rotates a vector to look at center
from
eye
, using up
for orientation. Read more
Create a transformation that rotates a vector to look at center
from
eye
, using up
for orientation. Read more
Transform a vector using this transform.
Inverse transform a vector using this transform
Transform a point using this transform.
Combine this transform with another, yielding a new transformation which has the effects of both. Read more
Create a transform that “un-does” this one.
Combine this transform with another, in-place.
type Scalar = S
type Scalar = S
impl<S: VectorSpace, R, E: BaseFloat> UlpsEq<Decomposed<S, R>> for Decomposed<S, R> where
S: UlpsEq<Epsilon = E>,
S::Scalar: UlpsEq<Epsilon = E>,
R: UlpsEq<Epsilon = E>,
impl<S: VectorSpace, R, E: BaseFloat> UlpsEq<Decomposed<S, R>> for Decomposed<S, R> where
S: UlpsEq<Epsilon = E>,
S::Scalar: UlpsEq<Epsilon = E>,
R: UlpsEq<Epsilon = E>,
The default ULPs to tolerate when testing values that are far-apart. Read more
A test for equality that uses units in the last place (ULP) if the values are far apart.
Auto Trait Implementations
impl<V, R> RefUnwindSafe for Decomposed<V, R> where
R: RefUnwindSafe,
V: RefUnwindSafe,
<V as VectorSpace>::Scalar: RefUnwindSafe,
impl<V, R> Send for Decomposed<V, R> where
R: Send,
V: Send,
<V as VectorSpace>::Scalar: Send,
impl<V, R> Sync for Decomposed<V, R> where
R: Sync,
V: Sync,
<V as VectorSpace>::Scalar: Sync,
impl<V, R> Unpin for Decomposed<V, R> where
R: Unpin,
V: Unpin,
<V as VectorSpace>::Scalar: Unpin,
impl<V, R> UnwindSafe for Decomposed<V, R> where
R: UnwindSafe,
V: UnwindSafe,
<V as VectorSpace>::Scalar: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more