diff --git a/src/quat.rs b/src/quat.rs index 9b3e69d..f447cce 100644 --- a/src/quat.rs +++ b/src/quat.rs @@ -242,6 +242,32 @@ pub impl Quat { let half = theta.to_radians() / Number::from(2); Quat::from_sv(cos(&half), axis.mul_t(sin(&half))) } + + /** + * # Return value + * + * The multiplicative identity, ie: `q = 1 + 0i + 0j + 0i` + */ + #[inline(always)] + static pure fn identity() -> Quat { + Quat::new(Number::one(), + Number::zero(), + Number::zero(), + Number::zero()) + } + + /** + * # Return value + * + * The additive identity, ie: `q = 0 + 0i + 0j + 0i` + */ + #[inline(always)] + static pure fn zero() -> Quat { + Quat::new(Number::zero(), + Number::zero(), + Number::zero(), + Number::zero()) + } } pub impl Quat: Index {