diff --git a/src/angle.rs b/src/angle.rs index b487514..cfa6c13 100644 --- a/src/angle.rs +++ b/src/angle.rs @@ -18,12 +18,12 @@ pub impl Radians: Angle { #[inline(always)] pure fn to_radians() -> Radians { self } #[inline(always)] pure fn to_degrees() -> Degrees { Degrees(*self * cast(180.0 / pi)) } - #[inline(always)] pure fn add(rhs: &Radians) -> Radians { self + *rhs } - #[inline(always)] pure fn sub(rhs: &Radians) -> Radians { self - *rhs } - #[inline(always)] pure fn mul(rhs: &T) -> Radians { self * *rhs } - #[inline(always)] pure fn div(rhs: &T) -> Radians { self / *rhs } - #[inline(always)] pure fn modulo(rhs: &T) -> Radians { self % *rhs } - #[inline(always)] pure fn neg() -> Radians {-self } + #[inline(always)] pure fn add(rhs: &Radians) -> Radians { Radians(*self + **rhs) } + #[inline(always)] pure fn sub(rhs: &Radians) -> Radians { Radians(*self - **rhs) } + #[inline(always)] pure fn mul(rhs: &T) -> Radians { Radians(*self * *rhs) } + #[inline(always)] pure fn div(rhs: &T) -> Radians { Radians(*self / *rhs) } + #[inline(always)] pure fn modulo(rhs: &T) -> Radians { Radians(*self % *rhs) } + #[inline(always)] pure fn neg() -> Radians { Radians(-*self) } } pub enum Degrees = T; @@ -32,15 +32,15 @@ pub impl Degrees: Angle { #[inline(always)] pure fn to_radians() -> Radians { Radians(*self * cast(pi / 180.0)) } #[inline(always)] pure fn to_degrees() -> Degrees { self } - #[inline(always)] pure fn add(rhs: &Degrees) -> Degrees { self + *rhs } - #[inline(always)] pure fn sub(rhs: &Degrees) -> Degrees { self - *rhs } - #[inline(always)] pure fn mul(rhs: &T) -> Degrees { self * *rhs } - #[inline(always)] pure fn div(rhs: &T) -> Degrees { self / *rhs } - #[inline(always)] pure fn modulo(rhs: &T) -> Degrees { self % *rhs } - #[inline(always)] pure fn neg() -> Degrees {-self } + #[inline(always)] pure fn add(rhs: &Degrees) -> Degrees { Degrees(*self + **rhs) } + #[inline(always)] pure fn sub(rhs: &Degrees) -> Degrees { Degrees(*self - **rhs) } + #[inline(always)] pure fn mul(rhs: &T) -> Degrees { Degrees(*self * *rhs) } + #[inline(always)] pure fn div(rhs: &T) -> Degrees { Degrees(*self / *rhs) } + #[inline(always)] pure fn modulo(rhs: &T) -> Degrees { Degrees(*self % *rhs) } + #[inline(always)] pure fn neg() -> Degrees { Degrees(-*self) } } -pub struct AxisRotation { +pub struct AxialRotation { axis: Vec3, theta: Radians, }