use glam::{Quat, Vec3};
#[derive(Clone, Copy, Default, Debug, PartialEq)]
pub struct Tilt {
pub quat: Quat,
}
impl Tilt {
pub const fn new(quat: Quat) -> Tilt {
Tilt { quat }
}
pub fn get_roll_radians(&self) -> Radians {
Radians(-self.quat.to_scaled_axis().dot(Vec3::Z))
}
pub fn get_pitch_radians(&self) -> Radians {
Radians(self.quat.to_scaled_axis().dot(Vec3::X))
}
}
#[derive(Clone, Copy, Default, Debug, PartialEq)]
pub struct Radians(f32);
impl Radians {
pub fn get_angle(&self) -> f32 {
self.0
}
}
impl From<f32> for Radians {
fn from(val: f32) -> Self {
Radians(val)
}
}