diff --git a/src/mat.rs b/src/mat.rs index a33493fa..f1c53db8 100644 --- a/src/mat.rs +++ b/src/mat.rs @@ -6,20 +6,20 @@ use std::cmp::ApproxEq; use std::vec::{VecIterator, VecMutIterator}; use vec::{Vec1, Vec2, Vec3, Vec4, Vec5, Vec6, Outer}; -pub use traits::dim::*; -pub use traits::indexable::*; -pub use traits::iterable::*; -pub use traits::scalar_op::*; -pub use traits::mat_cast::*; -pub use traits::column::*; -pub use traits::row::*; -pub use traits::inv::*; -pub use traits::rlmul::*; -pub use traits::rotation::*; -pub use traits::transformation::*; -pub use traits::translation::*; -pub use traits::transpose::*; -pub use traits::homogeneous::*; +pub use traits::dim::Dim; +pub use traits::indexable::Indexable; +pub use traits::iterable::{Iterable, IterableMut}; +pub use traits::scalar_op::{ScalarSub, ScalarAdd}; +pub use traits::mat_cast::MatCast; +pub use traits::column::Column; +pub use traits::inv::Inv; +pub use traits::rlmul::{RMul, LMul}; +pub use traits::rotation::{Rotation, Rotate}; +pub use traits::transformation::{Transformation, Transform}; +pub use traits::translation::{Translation, Translate}; +pub use traits::transpose::{Transpose}; +pub use traits::homogeneous::{ToHomogeneous, FromHomogeneous}; +pub use traits::row::Row; mod mat_macros; diff --git a/src/nalgebra.rc b/src/nalgebra.rc index 4000b997..9c705887 100644 --- a/src/nalgebra.rc +++ b/src/nalgebra.rc @@ -37,29 +37,28 @@ pub mod adaptors pub mod types; -// FIXME: it would be better to hide all those from the outside! -mod traits +pub mod traits { - mod vector; - mod sample; - mod indexable; - mod column; - mod row; - mod iterable; - mod outer; - mod cross; - mod inv; - mod transpose; - mod dim; - mod basis; - mod rotation; - mod translation; - mod transformation; - mod rlmul; - mod scalar_op; - mod homogeneous; - mod vec_cast; - mod mat_cast; + pub mod vector; + pub mod sample; + pub mod indexable; + pub mod column; + pub mod row; + pub mod iterable; + pub mod outer; + pub mod cross; + pub mod inv; + pub mod transpose; + pub mod dim; + pub mod basis; + pub mod rotation; + pub mod translation; + pub mod transformation; + pub mod rlmul; + pub mod scalar_op; + pub mod homogeneous; + pub mod vec_cast; + pub mod mat_cast; } #[cfg(test)] diff --git a/src/vec.rs b/src/vec.rs index 879ad340..4441e02f 100644 --- a/src/vec.rs +++ b/src/vec.rs @@ -5,24 +5,21 @@ use std::vec::{VecIterator, VecMutIterator}; use std::iterator::{Iterator, FromIterator}; use std::cmp::ApproxEq; -use traits::translation::*; -use traits::transformation::*; -use traits::rotation::*; +use traits::translation::{Translation, Translate}; +use traits::transformation::Transform; +use traits::rotation::Rotate; -pub use traits::homogeneous::*; -pub use traits::vec_cast::*; -pub use traits::vector::*; -pub use traits::basis::*; -pub use traits::dim::*; -pub use traits::basis::*; -pub use traits::indexable::*; -pub use traits::iterable::*; -pub use traits::sample::*; -pub use traits::scalar_op::*; -pub use traits::cross::*; -pub use traits::outer::*; -pub use traits::sample::*; -pub use traits::row::*; +pub use traits::homogeneous::{FromHomogeneous, ToHomogeneous}; +pub use traits::vec_cast::VecCast; +pub use traits::vector::{Vec, VecExt, AlgebraicVec, AlgebraicVecExt}; +pub use traits::basis::Basis; +pub use traits::dim::Dim; +pub use traits::indexable::Indexable; +pub use traits::iterable::{Iterable, IterableMut}; +pub use traits::sample::UniformSphereSample; +pub use traits::scalar_op::{ScalarAdd, ScalarSub}; +pub use traits::cross::{Cross, CrossMatrix}; +pub use traits::outer::Outer; mod vec_macros; diff --git a/src/vec_spec.rs b/src/vec_spec.rs index 466e2c8e..f832e903 100644 --- a/src/vec_spec.rs +++ b/src/vec_spec.rs @@ -1,6 +1,6 @@ use std::num::{Zero, One}; -use vec::{Vec1, Vec2, Vec3, Row, AlgebraicVec, VecCast, UniformSphereSample, Cross, CrossMatrix, Basis}; -use mat::Mat3; +use vec::{Vec1, Vec2, Vec3, AlgebraicVec, VecCast, UniformSphereSample, Cross, CrossMatrix, Basis}; +use mat::{Mat3, Row}; impl + Sub> Cross> for Vec2 { #[inline]