summaryrefslogtreecommitdiff
path: root/Runtime/mecanim/generic/typetraits.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/mecanim/generic/typetraits.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/mecanim/generic/typetraits.h')
-rw-r--r--Runtime/mecanim/generic/typetraits.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/Runtime/mecanim/generic/typetraits.h b/Runtime/mecanim/generic/typetraits.h
new file mode 100644
index 0000000..1f9aa25
--- /dev/null
+++ b/Runtime/mecanim/generic/typetraits.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include "Runtime/mecanim/types.h"
+#include "Runtime/Math/Simd/float4.h"
+#include "Runtime/Math/Simd/xform.h"
+#include "Runtime/Math/Simd/bool4.h"
+
+namespace mecanim
+{
+ enum ValueType
+ {
+ kFloatType = 1,
+ kInt32Type = 3,
+ kBoolType = 4,
+ kPositionType = 6,
+ kQuaternionType = 7,
+ kScaleType = 8,
+ kTriggerType = 9,
+ kLastType
+ };
+
+ template<typename TYPE> struct traits;
+
+ template<> struct traits<int32_t>
+ {
+ typedef int32_t value_type;
+
+ static value_type zero() { return 0; }
+ static ValueType type() { return kInt32Type; }
+ };
+
+ template<> struct traits<float>
+ {
+ typedef float value_type;
+
+ static value_type zero() { return 0.f; }
+ static ValueType type() { return kFloatType; }
+ };
+
+ template<> struct traits<bool>
+ {
+ typedef bool value_type;
+
+ static value_type zero() { return false; }
+ static ValueType type() { return kBoolType; }
+ };
+}