From e9e1dd588d0d857cae0bf2420cffcea3dcc8a445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 2 Aug 2018 23:29:33 +0200 Subject: [PATCH] Trade: make it possible to use all vector type variations for animations. Note that I don't mean all possible underlying types, just all possible vector classes. This is needed for splines etc. which may be templated and have result type a generic vector, for example. --- src/Magnum/Trade/AnimationData.h | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/Magnum/Trade/AnimationData.h b/src/Magnum/Trade/AnimationData.h index f12bb5ea4..f6861fa2e 100644 --- a/src/Magnum/Trade/AnimationData.h +++ b/src/Magnum/Trade/AnimationData.h @@ -393,18 +393,35 @@ namespace Implementation { template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Float; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::UnsignedInt; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Int; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::BoolVector2; } template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::BoolVector3; } template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::BoolVector4; } + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector2; } - template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector2ui; } - template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector2i; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3; } - template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3ui; } - template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3i; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector4; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector2; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector3; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector4; } + + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3; } + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector4; } + + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector2ui; } + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3ui; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector4ui; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector2ui; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector3ui; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector4ui; } + + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector2i; } + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector3i; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Vector4i; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector2i; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector3i; } + template<> constexpr AnimationTrackType animationTypeFor>() { return AnimationTrackType::Vector4i; } + template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::Quaternion; } template<> constexpr AnimationTrackType animationTypeFor() { return AnimationTrackType::DualQuaternion; } /* LCOV_EXCL_STOP */