/* ============================== ============================== */ void IKABall::UpdateTransform() const { mat3 rotMat = mat3_cast(rotation); transform[0] = rotMat[0]; transform[1] = rotMat[1]; transform[2] = rotMat[2]; dirty = false; }
/* ============================== ============================== */ mat4x3 IKABall::GetRestTransform() const { mat4x3 res; mat3 rotMat = mat3_cast(restRot); res[0] = rotMat[0]; res[1] = rotMat[1]; res[2] = rotMat[2]; res[3] = GetRestPos(); return res; }
detail::tmat3x3<valType> toMat3( detail::tquat<valType> const & x){return mat3_cast(x);}
GLM_FUNC_DECL tmat3x3<T, P> toMat3( tquat<T, P> const & x){return mat3_cast(x);}
GLM_FUNC_DECL mat<3, 3, T, P> toMat3( tquat<T, P> const& x){return mat3_cast(x);}
detail::tmat3x3<T, P> toMat3( detail::tquat<T, P> const & x){return mat3_cast(x);}
vec3 Transform::right() { return mat3_cast(rotation()) * vec3(1,0,0); }
vec3 Transform::up() { return mat3_cast(rotation()) * vec3(0,1,0); }
vec3 Transform::forward() { return mat3_cast(rotation()) * vec3(0,0,-1); }