Remove ToQuat trait
This commit is contained in:
parent
6c4c2fc1c8
commit
b51e66b19a
3 changed files with 10 additions and 14 deletions
10
src/mat.rs
10
src/mat.rs
|
@ -1,9 +1,8 @@
|
|||
use core::cmp::Eq;
|
||||
|
||||
use std::cmp::FuzzyEq;
|
||||
|
||||
use angle::Angle;
|
||||
use quat::ToQuat;
|
||||
use quat::Quat;
|
||||
|
||||
pub mod mat2;
|
||||
pub mod mat3;
|
||||
|
@ -257,9 +256,14 @@ pub trait Matrix2<T,V>: Matrix<T,V> {
|
|||
/**
|
||||
* A 3 x 3 matrix
|
||||
*/
|
||||
pub trait Matrix3<T,V>: Matrix<T,V> ToQuat<T> {
|
||||
pub trait Matrix3<T,V>: Matrix<T,V> {
|
||||
static pure fn from_axis_angle<A:Angle<T>>(axis: &V, theta: A) -> Mat3<T>;
|
||||
pure fn to_mat4(&self) -> Mat4<T>;
|
||||
|
||||
/**
|
||||
* Convert the matrix to a quaternion
|
||||
*/
|
||||
pure fn to_Quat() -> Quat<T>;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,7 +10,7 @@ use funs::common::*;
|
|||
use funs::exponential::*;
|
||||
use funs::triganomic::{sin, cos};
|
||||
use num::types::{Float, Number};
|
||||
use quat::{Quat, ToQuat};
|
||||
use quat::Quat;
|
||||
use vec::Vec3;
|
||||
|
||||
/**
|
||||
|
@ -393,7 +393,7 @@ pub impl<T:Copy Float Sign> Mat3<T>: MutableMatrix<T, Vec3<T>> {
|
|||
}
|
||||
}
|
||||
|
||||
pub impl<T:Copy Float> Mat3<T>: Matrix3<T, Vec3<T>> {
|
||||
pub impl<T:Copy Float Exp> Mat3<T>: Matrix3<T, Vec3<T>> {
|
||||
#[inline(always)]
|
||||
static pure fn from_axis_angle<A:Angle<T>>(axis: &Vec3<T>, theta: A) -> Mat3<T> {
|
||||
let c: T = cos(&theta.to_radians());
|
||||
|
@ -415,9 +415,7 @@ pub impl<T:Copy Float> Mat3<T>: Matrix3<T, Vec3<T>> {
|
|||
pure fn to_mat4(&self) -> Mat4<T> {
|
||||
Mat4::from_Mat3(self)
|
||||
}
|
||||
}
|
||||
|
||||
pub impl<T:Copy Float Exp> Mat3<T>: ToQuat<T> {
|
||||
|
||||
pure fn to_Quat() -> Quat<T> {
|
||||
// Implemented using a mix of ideas from jMonkeyEngine and Ken Shoemake's
|
||||
// paper on Quaternions: http://www.cs.ucr.edu/~vbz/resources/Quatut.pdf
|
||||
|
|
|
@ -182,12 +182,6 @@ pub trait Quaternion<T,V3>: Index<uint, T> Eq Neg<self> {
|
|||
pure fn to_ptr(&self) -> *T;
|
||||
}
|
||||
|
||||
pub trait ToQuat<T> {
|
||||
/**
|
||||
* Convert `self` to a quaternion
|
||||
*/
|
||||
pure fn to_Quat() -> Quat<T>;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue