[go: up one dir, main page]

Trait Translation

Source
pub trait Translation<E: EuclideanSpace>: DirectIsometry<E, Translation = Self, Rotation = Id> {
    // Required methods
    fn to_vector(&self) -> E::Coordinates;
    fn from_vector(v: E::Coordinates) -> Option<Self>;

    // Provided methods
    fn powf(&self, n: E::RealField) -> Option<Self> { ... }
    fn translation_between(a: &E, b: &E) -> Option<Self> { ... }
}
Expand description

Subgroups of the n-dimensional translation group T(n).

Required Methods§

Source

fn to_vector(&self) -> E::Coordinates

Converts this translation to a vector.

Source

fn from_vector(v: E::Coordinates) -> 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.

Provided Methods§

Source

fn powf(&self, n: E::RealField) -> 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.

Source

fn translation_between(a: &E, b: &E) -> Option<Self>

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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§