QVM: Quaternions, Vectors, Matrices
Vector-Matrix Operations
#include <boost/qvm/vec_mat_operations.hpp>[ORIG_END] -->
namespace boost
{
namespace qvm
{
//*** Vector-Matrix operations ***
//Only enabled if:
// is_mat<A>::value && is_vec<B>::value &&
// mat_traits<A>::cols==vec_traits<B>::dim
template <class A,class B>
typename deduce_vec2<A,B,mat_traits<A>::rows>::type
operator*( A const & a, B const & b );
//Only enabled if:
// is_mat<A>::value && is_vec<B>::value &&
// mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
// vec_traits<B>::dim==3
template <class A,class B>
deduce_vec2<A,B,3> >::type
transform_vector( A const & a, B const & b );
//Only enabled if:
// is_mat<A>::value && is_vec<B>::value &&
// mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
// vec_traits<B>::dim==3
template <class A,class B>
deduce_vec2<A,B,3> >::type
transform_point( A const & a, B const & b );
}
}