Struct nalgebra::Id [] [src]

#[repr(C)]
pub struct Id<O = Multiplicative> where
    O: Operator
{ /* fields omitted */ }

The universal identity element wrt. a given operator, usually noted Id with a context-dependent subscript.

By default, it is the multiplicative identity element. It represents the degenerate set containing only the identity element of any group-like structure. It has no dimension known at compile-time. All its operations are no-ops.

Methods

impl<O> Id<O> where
    O: Operator
[src]

[src]

Creates a new identity element.

Trait Implementations

impl<O> PartialOrd<Id<O>> for Id<O> where
    O: Operator
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

1.0.0
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

1.0.0
[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

1.0.0
[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

1.0.0
[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<O> Lattice for Id<O> where
    O: Operator
[src]

[src]

Returns the infimum and the supremum simultaneously.

[src]

Return the minimum of self and other if they are comparable.

[src]

Return the maximum of self and other if they are comparable.

[src]

Sorts two values in increasing order using a partial ordering.

[src]

Clamp value between min and max. Returns None if value is not comparable to min or max. Read more

impl<E> Rotation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

[src]

Raises this rotation to a power. If this is a simple rotation, the result must be equivalent to multiplying the rotation angle by n. Read more

[src]

Computes a simple rotation that makes the angle between a and b equal to zero, i.e., b.angle(a * delta_rotation(a, b)) = 0. If a and b are collinear, the computed rotation may not be unique. Returns None if no such simple rotation exists in the subgroup represented by Self. Read more

[src]

Computes the rotation between a and b and raises it to the power n. Read more

impl<E> DirectIsometry<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

impl AddAssign<Id<Multiplicative>> for Id<Multiplicative>
[src]

[src]

Performs the += operation.

impl<O> AbstractGroup<O> for Id<O> where
    O: Operator
[src]

impl<O> PartialEq<Id<O>> for Id<O> where
    O: Operator
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.

impl<O> AbstractLoop<O> for Id<O> where
    O: Operator
[src]

impl Add<Id<Multiplicative>> for Id<Multiplicative>
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<O> ApproxEq for Id<O> where
    O: Operator
[src]

Used for specifying relative comparisons.

[src]

The default tolerance to use when testing values that are close together. Read more

[src]

The default relative tolerance for testing values that are far-apart. Read more

[src]

The default ULPs to tolerate when testing values that are far-apart. Read more

[src]

A test for equality that uses a relative comparison if the values are far apart.

[src]

A test for equality that uses units in the last place (ULP) if the values are far apart.

[src]

The inverse of ApproxEq::relative_eq.

[src]

The inverse of ApproxEq::ulps_eq.

impl<O> Inverse<O> for Id<O> where
    O: Operator
[src]

[src]

Returns the inverse of self, relative to the operator O.

[src]

In-place inversin of self.

impl<O, T> SubsetOf<T> for Id<O> where
    O: Operator,
    T: Identity<O> + PartialEq<T>, 
[src]

[src]

The inclusion map: converts self to the equivalent element of its superset.

[src]

Checks if element is actually part of the subset Self (and can be converted to it).

[src]

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

[src]

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl One for Id<Multiplicative>
[src]

[src]

Returns the multiplicative identity element of Self, 1. Read more

[src]

Returns true if self is equal to the multiplicative identity. Read more

impl<O> JoinSemilattice for Id<O> where
    O: Operator
[src]

[src]

Returns the join (aka. supremum) of two values.

impl<E> Translation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

[src]

Converts this translation to a vector.

[src]

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

[src]

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

[src]

The translation needed to make a coincide with b, i.e., b = a * translation_to(a, b).

impl DivAssign<Id<Multiplicative>> for Id<Multiplicative>
[src]

[src]

Performs the /= operation.

impl<E> OrthogonalTransformation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

impl<O> Debug for Id<O> where
    O: Operator + Debug
[src]

[src]

Formats the value using the given formatter. Read more

impl Mul<Id<Multiplicative>> for Id<Multiplicative>
[src]

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl<O> AbstractQuasigroup<O> for Id<O> where
    O: Operator
[src]

[src]

Returns true if latin squareness holds for the given arguments. Approximate equality is used for verifications. Read more

[src]

Returns true if latin squareness holds for the given arguments.

impl<O> AbstractMagma<O> for Id<O> where
    O: Operator
[src]

[src]

Performs an operation.

[src]

Performs specific operation.

impl<O> Copy for Id<O> where
    O: Operator
[src]

impl Zero for Id<Multiplicative>
[src]

[src]

Returns the additive identity element of Self, 0. Read more

[src]

Returns true if self is equal to the additive identity.

impl MulAssign<Id<Multiplicative>> for Id<Multiplicative>
[src]

[src]

Performs the *= operation.

impl<O> Clone for Id<O> where
    O: Operator
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<O> MeetSemilattice for Id<O> where
    O: Operator
[src]

[src]

Returns the meet (aka. infimum) of two values.

impl<E> Scaling<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

[src]

Converts this scaling factor to a real. Same as self.to_superset().

[src]

Attempts to convert a real to an element of this scaling subgroup. Same as Self::from_superset(). Returns None if no such scaling is possible for this subgroup. Read more

[src]

Raises the scaling to a power. The result must be equivalent to self.to_superset().powf(n). Returns None if the result is not representable by Self. Read more

[src]

The scaling required to make a have the same norm as b, i.e., |b| = |a| * norm_ratio(a, b). Read more

impl<O> Identity<O> for Id<O> where
    O: Operator
[src]

[src]

The identity element.

[src]

Specific identity.

impl<E> Isometry<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

impl<O> Display for Id<O> where
    O: Operator
[src]

[src]

Formats the value using the given formatter. Read more

impl<O> AbstractGroupAbelian<O> for Id<O> where
    O: Operator
[src]

[src]

Returns true if the operator is commutative for the given argument tuple. Approximate equality is used for verifications. Read more

[src]

Returns true if the operator is commutative for the given argument tuple.

impl<E> Similarity<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

The type of the pure (uniform) scaling part of this similarity transformation.

[src]

The pure translational component of this similarity transformation.

[src]

The pure rotational component of this similarity transformation.

[src]

The pure scaling component of this similarity transformation.

[src]

Applies this transformation's pure translational part to a point.

[src]

Applies this transformation's pure rotational part to a point.

[src]

Applies this transformation's pure scaling part to a point.

[src]

Applies this transformation's pure rotational part to a vector.

[src]

Applies this transformation's pure scaling part to a vector.

[src]

Applies this transformation inverse's pure translational part to a point.

[src]

Applies this transformation inverse's pure rotational part to a point.

[src]

Applies this transformation inverse's pure scaling part to a point.

[src]

Applies this transformation inverse's pure rotational part to a vector.

[src]

Applies this transformation inverse's pure scaling part to a vector.

impl<O> AbstractMonoid<O> for Id<O> where
    O: Operator
[src]

[src]

Checks whether operating with the identity element is a no-op for the given argument. Approximate equality is used for verifications. Read more

[src]

Checks whether operating with the identity element is a no-op for the given argument. Read more

impl Div<Id<Multiplicative>> for Id<Multiplicative>
[src]

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl<O> AbstractSemigroup<O> for Id<O> where
    O: Operator
[src]

[src]

Returns true if associativity holds for the given arguments. Approximate equality is used for verifications. Read more

[src]

Returns true if associativity holds for the given arguments.

impl<O> Eq for Id<O> where
    O: Operator
[src]

impl<E> AffineTransformation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

Type of the first rotation to be applied.

Type of the non-uniform scaling to be applied.

The type of the pure translation part of this affine transformation.

[src]

Decomposes this affine transformation into a rotation followed by a non-uniform scaling, followed by a rotation, followed by a translation. Read more

[src]

Appends a translation to this similarity.

[src]

Prepends a translation to this similarity.

[src]

Appends a rotation to this similarity.

[src]

Prepends a rotation to this similarity.

[src]

Appends a scaling factor to this similarity.

[src]

Prepends a scaling factor to this similarity.

[src]

Appends to this similarity a rotation centered at the point p, i.e., this point is left invariant. Read more

impl<E> ProjectiveTransformation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

[src]

Applies this group's inverse action on a point from the euclidean space.

[src]

Applies this group's inverse action on a vector from the euclidean space. Read more

impl<E> Transformation<E> for Id<Multiplicative> where
    E: EuclideanSpace
[src]

[src]

Applies this group's action on a point from the euclidean space.

[src]

Applies this group's action on a vector from the euclidean space. Read more

Auto Trait Implementations

impl<O> Send for Id<O> where
    O: Send

impl<O> Sync for Id<O> where
    O: Sync