Clean up some type projections
This commit is contained in:
parent
bb7d342126
commit
cb31bbdef6
2 changed files with 4 additions and 4 deletions
|
@ -32,8 +32,8 @@ use vector::{Vector2, Vector3};
|
||||||
/// creates a circular motion, and preserves at least one point in the space.
|
/// creates a circular motion, and preserves at least one point in the space.
|
||||||
pub trait Rotation<P: EuclideanSpace>: Sized + Copy + One where
|
pub trait Rotation<P: EuclideanSpace>: Sized + Copy + One where
|
||||||
// FIXME: Ugly type signatures - blocked by rust-lang/rust#24092
|
// FIXME: Ugly type signatures - blocked by rust-lang/rust#24092
|
||||||
Self: ApproxEq<Epsilon = <P as EuclideanSpace>::Scalar>,
|
Self: ApproxEq<Epsilon = P::Scalar>,
|
||||||
<P as EuclideanSpace>::Scalar: BaseFloat,
|
P::Scalar: BaseFloat,
|
||||||
Self: iter::Product<Self>,
|
Self: iter::Product<Self>,
|
||||||
{
|
{
|
||||||
/// Create a rotation to a given direction with an 'up' vector.
|
/// Create a rotation to a given direction with an 'up' vector.
|
||||||
|
|
|
@ -64,9 +64,9 @@ pub struct Decomposed<V: VectorSpace, R> {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<P: EuclideanSpace, R: Rotation<P>> Transform<P> for Decomposed<P::Diff, R>
|
impl<P: EuclideanSpace, R: Rotation<P>> Transform<P> for Decomposed<P::Diff, R>
|
||||||
where <P as EuclideanSpace>::Scalar: BaseFloat,
|
where P::Scalar: BaseFloat,
|
||||||
// FIXME: Investigate why this is needed!
|
// FIXME: Investigate why this is needed!
|
||||||
<P as EuclideanSpace>::Diff: VectorSpace
|
P::Diff: VectorSpace
|
||||||
{
|
{
|
||||||
#[inline]
|
#[inline]
|
||||||
fn one() -> Decomposed<P::Diff, R> {
|
fn one() -> Decomposed<P::Diff, R> {
|
||||||
|
|
Loading…
Reference in a new issue