#include <cml/mathlib/matrix_rotation.h>
Go to the source code of this file.
Classes | |
struct | cml::detail::nlerp_f< MatT_1, MatT_2, 2 > |
struct | cml::detail::nlerp_f< MatT_1, MatT_2, 3 > |
struct | cml::detail::slerp_f< MatT_1, MatT_2, 2 > |
struct | cml::detail::slerp_f< MatT_1, MatT_2, 3 > |
struct | cml::detail::TypePromote3< T1, T2, T3, et::matrix_result_tag > |
struct | cml::detail::TypePromote3< T1, T2, T3, et::quaternion_result_tag > |
struct | cml::detail::TypePromote4< T1, T2, T3, T4, et::matrix_result_tag > |
struct | cml::detail::TypePromote4< T1, T2, T3, T4, et::quaternion_result_tag > |
struct | cml::detail::TypePromote< T, T, et::scalar_result_tag > |
struct | cml::detail::TypePromote< T1, T2, et::matrix_result_tag > |
struct | cml::detail::TypePromote< T1, T2, et::quaternion_result_tag > |
struct | cml::detail::TypePromote< T1, T2, et::scalar_result_tag > |
struct | cml::detail::TypePromote< T1, T2, et::vector_result_tag > |
Namespaces | |
namespace | cml |
namespace | cml::detail |
Functions | |
template<class T1 , class T2 , class T3 , class T4 , typename Scalar > | |
detail::TypePromote< typename detail::TypePromote< T1, T2, typename et::ExprTraits< T1 > ::result_tag >::temporary_type, typename detail::TypePromote < T3, T4, typename et::ExprTraits< T3 > ::result_tag >::temporary_type, typename et::ExprTraits< T1 > ::result_tag >::temporary_type | cml::bilerp (const T1 &val00, const T2 &val10, const T3 &val01, const T4 &val11, Scalar u, Scalar v) |
template<typename E , class A , class B , class L , class MatT > | |
void | cml::detail::InterpResize (matrix< E, A, B, L > &m, const MatT &target, dynamic_size_tag) |
template<typename E , class A , class VecT > | |
void | cml::detail::InterpResize (vector< E, A > &v, const VecT &target, dynamic_size_tag) |
template<class T1 , class T2 , class SizeTag > | |
void | cml::detail::InterpResize (T1 &t1, const T2 &t2, SizeTag) |
template<class T1 , class T2 , typename Scalar > | |
detail::TypePromote< T1, T2, typename et::ExprTraits< T1 > ::result_tag >::temporary_type | cml::lerp (const T1 &val0, const T2 &val1, Scalar u) |
Linear interpolation of 2 values. | |
template<class T1 , class T2 , typename Real > | |
detail::TypePromote< T1, T2, typename et::ExprTraits< T1 > ::result_tag >::temporary_type | cml::nlerp (const T1 &t1, const T2 &t2, Real t) |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | cml::detail::nlerp (const MatT_1 &m1, const MatT_2 &m2, Real t, et::matrix_result_tag, dynamic_size_tag) |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | cml::detail::nlerp (const MatT_1 &m1, const MatT_2 &m2, Real t, et::matrix_result_tag, fixed_size_tag) |
template<class QuatT_1 , class QuatT_2 , typename Real , class SizeT > | |
detail::TypePromote< QuatT_1, QuatT_2, typename et::ExprTraits< QuatT_1 > ::result_tag >::temporary_type | cml::detail::nlerp (const QuatT_1 &q1, const QuatT_2 &q2, Real t, et::quaternion_result_tag, SizeT) |
template<class VecT_1 , class VecT_2 , typename Real , class SizeT > | |
detail::TypePromote< VecT_1, VecT_2, typename et::ExprTraits< VecT_1 > ::result_tag >::temporary_type | cml::detail::nlerp (const VecT_1 &v1, const VecT_2 &v2, Real t, et::vector_result_tag, SizeT) |
template<class T1 , class T2 , typename Real > | |
detail::TypePromote< T1, T2, typename et::ExprTraits< T1 > ::result_tag >::temporary_type | cml::slerp (const T1 &t1, const T2 &t2, Real t, Real tolerance=epsilon< Real >::placeholder()) |
NOTE: Computation of intermediate rotation matrices for matrix 'squad' doesn't seem to be working correctly. | |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | cml::detail::slerp (const MatT_1 &m1, const MatT_2 &m2, Real t, Real tolerance, et::matrix_result_tag, dynamic_size_tag) |
template<class MatT_1 , class MatT_2 , typename Real > | |
detail::TypePromote< MatT_1, MatT_2, typename et::ExprTraits< MatT_1 > ::result_tag >::temporary_type | cml::detail::slerp (const MatT_1 &m1, const MatT_2 &m2, Real t, Real tolerance, et::matrix_result_tag, fixed_size_tag) |
template<class QuatT_1 , class QuatT_2 , typename Real , class SizeT > | |
detail::TypePromote< QuatT_1, QuatT_2, typename et::ExprTraits< QuatT_1 > ::result_tag >::temporary_type | cml::detail::slerp (const QuatT_1 &q1, const QuatT_2 &q2, Real t, Real tolerance, et::quaternion_result_tag, SizeT) |
template<class VecT_1 , class VecT_2 , typename Real , class SizeT > | |
detail::TypePromote< VecT_1, VecT_2, typename et::ExprTraits< VecT_1 > ::result_tag >::temporary_type | cml::detail::slerp (const VecT_1 &v1, const VecT_2 &v2, Real t, Real tolerance, et::vector_result_tag, SizeT) |
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , typename Scalar > | |
detail::TypePromote< typename detail::TypePromote< typename detail::TypePromote< T1, T2, typename et::ExprTraits< T1 > ::result_tag >::temporary_type, typename detail::TypePromote < T3, T4, typename et::ExprTraits< T3 > ::result_tag >::temporary_type, typename et::ExprTraits< T1 > ::result_tag >::temporary_type, typename detail::TypePromote < typename detail::TypePromote < T5, T6, typename et::ExprTraits< T5 > ::result_tag >::temporary_type, typename detail::TypePromote < T7, T8, typename et::ExprTraits< T7 > ::result_tag >::temporary_type, typename et::ExprTraits< T1 > ::result_tag >::temporary_type, typename et::ExprTraits< T1 > ::result_tag >::temporary_type | cml::trilerp (const T1 &val000, const T2 &val100, const T3 &val010, const T4 &val110, const T5 &val001, const T6 &val101, const T7 &val011, const T8 &val111, Scalar u, Scalar v, Scalar w) |
Trilinear interpolation of 8 values. |
Definition in file interpolation.h.