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).

Object Safety§

This trait is not object safe.

Implementors§

source§

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

§

type Scalar = S

source§

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

§

type Scalar = S