|
|
|
@ -156,6 +156,20 @@ namespace detail{ |
|
|
|
|
return detail::tquat<T>(-q.w, -q.x, -q.y, -q.z); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename T> |
|
|
|
|
inline detail::tquat<T> operator* |
|
|
|
|
( |
|
|
|
|
detail::tquat<T> const & q, |
|
|
|
|
detail::tquat<T> const & p |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tquat<T>( |
|
|
|
|
q.w * p.w - q.x * p.x - q.y * p.y - q.z * p.z, |
|
|
|
|
q.w * p.x + q.x * p.w + q.y * p.z - q.z * p.y, |
|
|
|
|
q.w * p.y + q.y * p.w + q.z * p.x - q.x * p.z, |
|
|
|
|
q.w * p.z + q.z * p.w + q.x * p.y - q.y * p.x); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Transformation |
|
|
|
|
template <typename T> |
|
|
|
|
inline detail::tvec3<T> operator* |
|
|
|
|