Skip to main content

Rotation3

Trait Rotation3 

Source
pub trait Rotation3:
    Rotation<Space = Point3<Self::Scalar>>
    + Into<Matrix3<Self::Scalar>>
    + Into<Basis3<Self::Scalar>>
    + Into<Quaternion<Self::Scalar>>
    + From<Euler<Rad<Self::Scalar>>> {
    type Scalar: BaseFloat;

    // Required method
    fn from_axis_angle<A>(axis: Vector3<Self::Scalar>, angle: A) -> Self
       where A: Into<Rad<Self::Scalar>>;

    // Provided methods
    fn from_angle_x<A>(theta: A) -> Self
       where A: Into<Rad<Self::Scalar>> { ... }
    fn from_angle_y<A>(theta: A) -> Self
       where A: Into<Rad<Self::Scalar>> { ... }
    fn from_angle_z<A>(theta: A) -> Self
       where A: Into<Rad<Self::Scalar>> { ... }
}
Expand description

A three-dimensional rotation.

Required Associated Types§

Required Methods§

Source

fn from_axis_angle<A>(axis: Vector3<Self::Scalar>, angle: A) -> Self
where A: Into<Rad<Self::Scalar>>,

Create a rotation using an angle around a given axis.

The specified axis must be normalized, or it represents an invalid rotation.

Provided Methods§

Source

fn from_angle_x<A>(theta: A) -> Self
where A: Into<Rad<Self::Scalar>>,

Create a rotation from an angle around the x axis (pitch).

Source

fn from_angle_y<A>(theta: A) -> Self
where A: Into<Rad<Self::Scalar>>,

Create a rotation from an angle around the y axis (yaw).

Source

fn from_angle_z<A>(theta: A) -> Self
where A: Into<Rad<Self::Scalar>>,

Create a rotation from an angle around the z axis (roll).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<S> Rotation3 for Basis3<S>
where S: BaseFloat,

Source§

impl<S> Rotation3 for Quaternion<S>
where S: BaseFloat,