Struct nalgebra::geometry::TranslationBase
[−]
[src]
#[repr(C)]pub struct TranslationBase<N: Scalar, D: DimName, S> { pub vector: ColumnVector<N, D, S>, }
A translation.
Fields
vector: ColumnVector<N, D, S>
The translation coordinates, i.e., how much is added to a point's coordinates when it is translated.
Methods
impl<N, D: DimName, S> TranslationBase<N, D, S> where
N: Scalar,
S: Storage<N, D, U1>,
[src]
N: Scalar,
S: Storage<N, D, U1>,
fn from_vector(vector: ColumnVector<N, D, S>) -> TranslationBase<N, D, S>
Creates a new translation from the given vector.
fn inverse(&self) -> OwnedTranslation<N, D, S> where
N: ClosedNeg,
N: ClosedNeg,
Inverts self
.
fn to_homogeneous(&self) -> OwnedSquareMatrix<N, DimNameSum<D, U1>, S::Alloc> where
N: Zero + One,
D: DimNameAdd<U1>,
S::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
N: Zero + One,
D: DimNameAdd<U1>,
S::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
Converts this translation into its equivalent homogeneous transformation matrix.
impl<N, D: DimName, S> TranslationBase<N, D, S> where
N: Scalar + ClosedNeg,
S: StorageMut<N, D, U1>,
[src]
N: Scalar + ClosedNeg,
S: StorageMut<N, D, U1>,
fn inverse_mut(&mut self)
Inverts self
in-place.
impl<N, D: DimName, S> TranslationBase<N, D, S> where
N: Scalar + Zero,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Scalar + Zero,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn identity() -> TranslationBase<N, D, S>
Creates a new square identity rotation of the given dimension
.
impl<N, S> TranslationBase<N, U1, S> where
N: Scalar,
S: OwnedStorage<N, U1, U1>,
S::Alloc: OwnedAllocator<N, U1, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U1, U1>,
S::Alloc: OwnedAllocator<N, U1, U1, S>,
fn new(x: N) -> Self
Initializes this matrix from its components.
impl<N, S> TranslationBase<N, U2, S> where
N: Scalar,
S: OwnedStorage<N, U2, U1>,
S::Alloc: OwnedAllocator<N, U2, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U2, U1>,
S::Alloc: OwnedAllocator<N, U2, U1, S>,
fn new(x: N, y: N) -> Self
Initializes this matrix from its components.
impl<N, S> TranslationBase<N, U3, S> where
N: Scalar,
S: OwnedStorage<N, U3, U1>,
S::Alloc: OwnedAllocator<N, U3, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U3, U1>,
S::Alloc: OwnedAllocator<N, U3, U1, S>,
fn new(x: N, y: N, z: N) -> Self
Initializes this matrix from its components.
impl<N, S> TranslationBase<N, U4, S> where
N: Scalar,
S: OwnedStorage<N, U4, U1>,
S::Alloc: OwnedAllocator<N, U4, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U4, U1>,
S::Alloc: OwnedAllocator<N, U4, U1, S>,
fn new(x: N, y: N, z: N, w: N) -> Self
Initializes this matrix from its components.
impl<N, S> TranslationBase<N, U5, S> where
N: Scalar,
S: OwnedStorage<N, U5, U1>,
S::Alloc: OwnedAllocator<N, U5, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U5, U1>,
S::Alloc: OwnedAllocator<N, U5, U1, S>,
fn new(x: N, y: N, z: N, w: N, a: N) -> Self
Initializes this matrix from its components.
impl<N, S> TranslationBase<N, U6, S> where
N: Scalar,
S: OwnedStorage<N, U6, U1>,
S::Alloc: OwnedAllocator<N, U6, U1, S>,
[src]
N: Scalar,
S: OwnedStorage<N, U6, U1>,
S::Alloc: OwnedAllocator<N, U6, U1, S>,
fn new(x: N, y: N, z: N, w: N, a: N, b: N) -> Self
Initializes this matrix from its components.
Trait Implementations
impl<N: Hash + Scalar, D: Hash + DimName, S: Hash> Hash for TranslationBase<N, D, S>
[src]
fn hash<__HNDS: Hasher>(&self, __arg_0: &mut __HNDS)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<N: Debug + Scalar, D: Debug + DimName, S: Debug> Debug for TranslationBase<N, D, S>
[src]
impl<N: Clone + Scalar, D: Clone + DimName, S: Clone> Clone for TranslationBase<N, D, S>
[src]
fn clone(&self) -> TranslationBase<N, D, S>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<N: Copy + Scalar, D: Copy + DimName, S: Copy> Copy for TranslationBase<N, D, S>
[src]
impl<N, D: DimName, S> Eq for TranslationBase<N, D, S> where
N: Scalar + Eq,
S: Storage<N, D, U1>,
[src]
N: Scalar + Eq,
S: Storage<N, D, U1>,
impl<N, D: DimName, S> PartialEq for TranslationBase<N, D, S> where
N: Scalar + PartialEq,
S: Storage<N, D, U1>,
[src]
N: Scalar + PartialEq,
S: Storage<N, D, U1>,
fn eq(&self, right: &TranslationBase<N, D, S>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<N, D: DimName, S> ApproxEq for TranslationBase<N, D, S> where
N: Scalar + ApproxEq,
S: Storage<N, D, U1>,
N::Epsilon: Copy,
[src]
N: Scalar + ApproxEq,
S: Storage<N, D, U1>,
N::Epsilon: Copy,
type Epsilon = N::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
The default tolerance to use when testing values that are close together. Read more
fn default_max_relative() -> Self::Epsilon
The default relative tolerance for testing values that are far-apart. Read more
fn default_max_ulps() -> u32
The default ULPs to tolerate when testing values that are far-apart. Read more
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
A test for equality that uses a relative comparison if the values are far apart.
fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
A test for equality that uses units in the last place (ULP) if the values are far apart.
fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
The inverse of ApproxEq::relative_eq
.
fn ulps_ne(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
The inverse of ApproxEq::ulps_eq
.
impl<N, D: DimName, S> Display for TranslationBase<N, D, S> where
N: Real + Display,
S: Storage<N, D, U1>,
S::Alloc: Allocator<usize, D, U1>,
[src]
N: Real + Display,
S: Storage<N, D, U1>,
S::Alloc: Allocator<usize, D, U1>,
impl<N, D: DimName, S> One for TranslationBase<N, D, S> where
N: Scalar + Zero + ClosedAdd,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Scalar + Zero + ClosedAdd,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
impl<N, D: DimName, S> Rand for TranslationBase<N, D, S> where
N: Scalar + Rand,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Scalar + Rand,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn rand<G: Rng>(rng: &mut G) -> Self
Generates a random instance of this type using the specified source of randomness. Read more
impl<'a, 'b, N, D: DimName, SA, SB> Mul<&'b TranslationBase<N, D, SB>> for &'a TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the *
operator
fn mul(self, right: &'b TranslationBase<N, D, SB>) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimName, SA, SB> Mul<TranslationBase<N, D, SA>> for &'a TranslationBase<N, D, SB> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the *
operator
fn mul(self, right: TranslationBase<N, D, SA>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, SA, SB> Mul<&'b TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the *
operator
fn mul(self, right: &'b TranslationBase<N, D, SB>) -> Self::Output
The method for the *
operator
impl<N, D: DimName, SA, SB> Mul<TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the *
operator
fn mul(self, right: TranslationBase<N, D, SB>) -> Self::Output
The method for the *
operator
impl<'a, 'b, N, D: DimName, SA, SB> Div<&'b TranslationBase<N, D, SB>> for &'a TranslationBase<N, D, SA> where
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the /
operator
fn div(self, right: &'b TranslationBase<N, D, SB>) -> Self::Output
The method for the /
operator
impl<'a, N, D: DimName, SA, SB> Div<TranslationBase<N, D, SA>> for &'a TranslationBase<N, D, SB> where
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the /
operator
fn div(self, right: TranslationBase<N, D, SA>) -> Self::Output
The method for the /
operator
impl<'b, N, D: DimName, SA, SB> Div<&'b TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the /
operator
fn div(self, right: &'b TranslationBase<N, D, SB>) -> Self::Output
The method for the /
operator
impl<N, D: DimName, SA, SB> Div<TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedTranslation<N, D, SA>
The resulting type after applying the /
operator
fn div(self, right: TranslationBase<N, D, SB>) -> Self::Output
The method for the /
operator
impl<'a, 'b, N, D: DimName, SA, SB> Mul<&'b PointBase<N, D, SA>> for &'a TranslationBase<N, D, SB> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedPoint<N, D, SA::Alloc>
The resulting type after applying the *
operator
fn mul(self, right: &'b PointBase<N, D, SA>) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimName, SA, SB> Mul<PointBase<N, D, SA>> for &'a TranslationBase<N, D, SB> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedPoint<N, D, SA::Alloc>
The resulting type after applying the *
operator
fn mul(self, right: PointBase<N, D, SA>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, SA, SB> Mul<&'b PointBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedPoint<N, D, SB::Alloc>
The resulting type after applying the *
operator
fn mul(self, right: &'b PointBase<N, D, SB>) -> Self::Output
The method for the *
operator
impl<N, D: DimName, SA, SB> Mul<PointBase<N, D, SA>> for TranslationBase<N, D, SB> where
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: Storage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: SameShapeAllocator<N, D, U1, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
type Output = OwnedPoint<N, D, SA::Alloc>
The resulting type after applying the *
operator
fn mul(self, right: PointBase<N, D, SA>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, SA, SB> MulAssign<&'b TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
fn mul_assign(&mut self, right: &'b TranslationBase<N, D, SB>)
The method for the *=
operator
impl<N, D: DimName, SA, SB> MulAssign<TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedAdd,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedAdd,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
fn mul_assign(&mut self, right: TranslationBase<N, D, SB>)
The method for the *=
operator
impl<'b, N, D: DimName, SA, SB> DivAssign<&'b TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedSub,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
fn div_assign(&mut self, right: &'b TranslationBase<N, D, SB>)
The method for the /=
operator
impl<N, D: DimName, SA, SB> DivAssign<TranslationBase<N, D, SB>> for TranslationBase<N, D, SA> where
N: Scalar + ClosedSub,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src]
N: Scalar + ClosedSub,
SA: OwnedStorage<N, D, U1>,
SB: Storage<N, D, U1>,
SA::Alloc: OwnedAllocator<N, D, U1, SA>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
fn div_assign(&mut self, right: TranslationBase<N, D, SB>)
The method for the /=
operator
impl<N, D: DimName, S> Identity<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn identity() -> Self
The identity element.
impl<N, D: DimName, S> Inverse<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn inverse(&self) -> Self
Returns the inverse of self
, relative to the operator O
.
fn inverse_mut(&mut self)
In-place inversin of self
.
impl<N, D: DimName, S> AbstractMagma<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn operate(&self, rhs: &Self) -> Self
Performs an operation.
fn op(&self, O, lhs: &Self) -> Self
Performs specific operation.
impl<N, D: DimName, S> AbstractSemigroup<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool where
Self: ApproxEq,
Self: ApproxEq,
Returns true
if associativity holds for the given arguments. Approximate equality is used for verifications. Read more
fn prop_is_associative(args: (Self, Self, Self)) -> bool where
Self: Eq,
Self: Eq,
Returns true
if associativity holds for the given arguments.
impl<N, D: DimName, S> AbstractMonoid<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn prop_operating_identity_element_is_noop_approx(a: Self) -> bool where
Self: ApproxEq,
Self: ApproxEq,
Checks whether operating with the identity element is a no-op for the given argument. Approximate equality is used for verifications. Read more
fn prop_operating_identity_element_is_noop(a: Self) -> bool where
Self: Eq,
Self: Eq,
Checks whether operating with the identity element is a no-op for the given argument. Read more
impl<N, D: DimName, S> AbstractQuasigroup<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn prop_inv_is_latin_square_approx(args: (Self, Self)) -> bool where
Self: ApproxEq,
Self: ApproxEq,
Returns true
if latin squareness holds for the given arguments. Approximate equality is used for verifications. Read more
fn prop_inv_is_latin_square(args: (Self, Self)) -> bool where
Self: Eq,
Self: Eq,
Returns true
if latin squareness holds for the given arguments.
impl<N, D: DimName, S> AbstractLoop<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
impl<N, D: DimName, S> AbstractGroup<Multiplicative> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
impl<N, D: DimName, S> Transformation<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn transform_point(&self, pt: &PointBase<N, D, S>) -> PointBase<N, D, S>
Applies this group's action on a point from the euclidean space.
fn transform_vector(&self, v: &ColumnVector<N, D, S>) -> ColumnVector<N, D, S>
Applies this group's action on a vector from the euclidean space. Read more
impl<N, D: DimName, S> ProjectiveTransformation<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
fn inverse_transform_point(&self, pt: &PointBase<N, D, S>) -> PointBase<N, D, S>
Applies this group's inverse action on a point from the euclidean space.
fn inverse_transform_vector(
&self,
v: &ColumnVector<N, D, S>
) -> ColumnVector<N, D, S>
&self,
v: &ColumnVector<N, D, S>
) -> ColumnVector<N, D, S>
Applies this group's inverse action on a vector from the euclidean space. Read more
impl<N, D: DimName, S> AffineTransformation<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Rotation = Id
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Self
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Self, Id, Id, Id)
Decomposes this affine transformation into a rotation followed by a non-uniform scaling, followed by a rotation, followed by a translation. Read more
fn append_translation(&self, t: &Self::Translation) -> Self
Appends a translation to this similarity.
fn prepend_translation(&self, t: &Self::Translation) -> Self
Prepends a translation to this similarity.
fn append_rotation(&self, _: &Self::Rotation) -> Self
Appends a rotation to this similarity.
fn prepend_rotation(&self, _: &Self::Rotation) -> Self
Prepends a rotation to this similarity.
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Appends a scaling factor to this similarity.
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Prepends a scaling factor to this similarity.
fn append_rotation_wrt_point(&self, r: &Self::Rotation, p: &E) -> Option<Self>
Appends to this similarity a rotation centered at the point p
, i.e., this point is left invariant. Read more
impl<N, D: DimName, S> Similarity<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Self
The pure translational component of this similarity transformation.
fn rotation(&self) -> Id
The pure rotational component of this similarity transformation.
fn scaling(&self) -> Id
The pure scaling component of this similarity transformation.
fn translate_point(&self, pt: &E) -> E
Applies this transformation's pure translational part to a point.
fn rotate_point(&self, pt: &E) -> E
Applies this transformation's pure rotational part to a point.
fn scale_point(&self, pt: &E) -> E
Applies this transformation's pure scaling part to a point.
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
Applies this transformation's pure rotational part to a vector.
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
Applies this transformation's pure scaling part to a vector.
fn inverse_translate_point(&self, pt: &E) -> E
Applies this transformation inverse's pure translational part to a point.
fn inverse_rotate_point(&self, pt: &E) -> E
Applies this transformation inverse's pure rotational part to a point.
fn inverse_scale_point(&self, pt: &E) -> E
Applies this transformation inverse's pure scaling part to a point.
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
Applies this transformation inverse's pure rotational part to a vector.
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
Applies this transformation inverse's pure scaling part to a vector.
impl<N, D: DimName, S> Isometry<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
impl<N, D: DimName, S> DirectIsometry<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
impl<N, D: DimName, S> Translation<PointBase<N, D, S>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
Subgroups of the n-dimensional translation group T(n)
.
fn to_vector(&self) -> ColumnVector<N, D, S>
Converts this translation to a vector.
fn from_vector(v: ColumnVector<N, D, S>) -> Option<Self>
Attempts to convert a vector to this translation. Returns None
if the translation represented by v
is not part of the translation subgroup represented by Self
. Read more
fn powf(&self, n: N) -> Option<Self>
Raises the translation to a power. The result must be equivalent to self.to_superset() * n
. Returns None
if the result is not representable by Self
. Read more
fn translation_between(
a: &PointBase<N, D, S>,
b: &PointBase<N, D, S>
) -> Option<Self>
a: &PointBase<N, D, S>,
b: &PointBase<N, D, S>
) -> Option<Self>
The translation needed to make a
coincide with b
, i.e., b = a * translation_to(a, b)
.
impl<N1, N2, D: DimName, SA, SB> SubsetOf<TranslationBase<N2, D, SB>> for TranslationBase<N1, D, SA> where
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
[src]
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
fn to_superset(&self) -> TranslationBase<N2, D, SB>
The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(rot: &TranslationBase<N2, D, SB>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
unsafe fn from_superset_unchecked(rot: &TranslationBase<N2, D, SB>) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its superset. Read more
impl<N1, N2, D: DimName, SA, SB, R> SubsetOf<IsometryBase<N2, D, SB, R>> for TranslationBase<N1, D, SA> where
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
R: Rotation<PointBase<N2, D, SB>>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
[src]
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
R: Rotation<PointBase<N2, D, SB>>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
fn to_superset(&self) -> IsometryBase<N2, D, SB, R>
The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(iso: &IsometryBase<N2, D, SB, R>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
unsafe fn from_superset_unchecked(iso: &IsometryBase<N2, D, SB, R>) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its superset. Read more
impl<N1, N2, D: DimName, SA, SB, R> SubsetOf<SimilarityBase<N2, D, SB, R>> for TranslationBase<N1, D, SA> where
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
R: Rotation<PointBase<N2, D, SB>>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
[src]
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, D, U1>,
R: Rotation<PointBase<N2, D, SB>>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
SB::Alloc: OwnedAllocator<N2, D, U1, SB>,
fn to_superset(&self) -> SimilarityBase<N2, D, SB, R>
The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(sim: &SimilarityBase<N2, D, SB, R>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
unsafe fn from_superset_unchecked(sim: &SimilarityBase<N2, D, SB, R>) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its superset. Read more
impl<N1, N2, D, SA, SB, C> SubsetOf<TransformBase<N2, D, SB, C>> for TranslationBase<N1, D, SA> where
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
C: SuperTCategoryOf<TAffine>,
D: DimNameAdd<U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, U1> + Allocator<N2, DimNameSum<D, U1>, D>,
[src]
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
C: SuperTCategoryOf<TAffine>,
D: DimNameAdd<U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, U1> + Allocator<N2, DimNameSum<D, U1>, D>,
fn to_superset(&self) -> TransformBase<N2, D, SB, C>
The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(t: &TransformBase<N2, D, SB, C>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
unsafe fn from_superset_unchecked(t: &TransformBase<N2, D, SB, C>) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its superset. Read more
impl<N1, N2, D, SA, SB> SubsetOf<SquareMatrix<N2, DimNameSum<D, U1>, SB>> for TranslationBase<N1, D, SA> where
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
D: DimNameAdd<U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, U1> + Allocator<N2, DimNameSum<D, U1>, D>,
[src]
N1: Real,
N2: Real + SupersetOf<N1>,
SA: OwnedStorage<N1, D, U1>,
SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
D: DimNameAdd<U1>,
SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, U1> + Allocator<N2, DimNameSum<D, U1>, D>,
fn to_superset(&self) -> SquareMatrix<N2, DimNameSum<D, U1>, SB>
The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(m: &SquareMatrix<N2, DimNameSum<D, U1>, SB>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
unsafe fn from_superset_unchecked(
m: &SquareMatrix<N2, DimNameSum<D, U1>, SB>
) -> Self
m: &SquareMatrix<N2, DimNameSum<D, U1>, SB>
) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its superset. Read more
impl<N, D: DimName, S, R> Mul<IsometryBase<N, D, S, R>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: IsometryBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimName, S, R> Mul<IsometryBase<N, D, S, R>> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: IsometryBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, S, R> Mul<&'b IsometryBase<N, D, S, R>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b IsometryBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'a, 'b, N, D: DimName, S, R> Mul<&'b IsometryBase<N, D, S, R>> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b IsometryBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<N, D: DimName, S, R> Mul<R> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: R) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimName, S, R> Mul<R> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: R) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, S, R> Mul<&'b R> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b R) -> Self::Output
The method for the *
operator
impl<'a, 'b, N, D: DimName, S, R> Mul<&'b R> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = IsometryBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b R) -> Self::Output
The method for the *
operator
impl<N, D: DimName, S, R> Mul<SimilarityBase<N, D, S, R>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = SimilarityBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: SimilarityBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimName, S, R> Mul<SimilarityBase<N, D, S, R>> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = SimilarityBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: SimilarityBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimName, S, R> Mul<&'b SimilarityBase<N, D, S, R>> for TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = SimilarityBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b SimilarityBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<'a, 'b, N, D: DimName, S, R> Mul<&'b SimilarityBase<N, D, S, R>> for &'a TranslationBase<N, D, S> where
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
[src]
N: Real,
S: OwnedStorage<N, D, U1>,
R: Rotation<PointBase<N, D, S>>,
S::Alloc: OwnedAllocator<N, D, U1, S>,
type Output = SimilarityBase<N, D, S, R>
The resulting type after applying the *
operator
fn mul(self, right: &'b SimilarityBase<N, D, S, R>) -> Self::Output
The method for the *
operator
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Mul<TransformBase<N, D, SB, C>> for TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the *
operator
fn mul(self, rhs: TransformBase<N, D, SB, C>) -> Self::Output
The method for the *
operator
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Mul<TransformBase<N, D, SB, C>> for &'a TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the *
operator
fn mul(self, rhs: TransformBase<N, D, SB, C>) -> Self::Output
The method for the *
operator
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Mul<&'b TransformBase<N, D, SB, C>> for TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the *
operator
fn mul(self, rhs: &'b TransformBase<N, D, SB, C>) -> Self::Output
The method for the *
operator
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Mul<&'b TransformBase<N, D, SB, C>> for &'a TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the *
operator
fn mul(self, rhs: &'b TransformBase<N, D, SB, C>) -> Self::Output
The method for the *
operator
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Div<TransformBase<N, D, SB, C>> for TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the /
operator
fn div(self, rhs: TransformBase<N, D, SB, C>) -> Self::Output
The method for the /
operator
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Div<TransformBase<N, D, SB, C>> for &'a TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the /
operator
fn div(self, rhs: TransformBase<N, D, SB, C>) -> Self::Output
The method for the /
operator
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Div<&'b TransformBase<N, D, SB, C>> for TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the /
operator
fn div(self, rhs: &'b TransformBase<N, D, SB, C>) -> Self::Output
The method for the /
operator
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, SA, SB> Div<&'b TransformBase<N, D, SB, C>> for &'a TranslationBase<N, D, SA> where
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
SA: Storage<N, D, U1>,
SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
type Output = OwnedTransform<N, D, SA::Alloc, C::Representative>
The resulting type after applying the /
operator
fn div(self, rhs: &'b TransformBase<N, D, SB, C>) -> Self::Output
The method for the /
operator