summaryrefslogtreecommitdiff
path: root/Runtime/mecanim/human/handle.h
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/mecanim/human/handle.h')
-rw-r--r--Runtime/mecanim/human/handle.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Runtime/mecanim/human/handle.h b/Runtime/mecanim/human/handle.h
new file mode 100644
index 0000000..af1df50
--- /dev/null
+++ b/Runtime/mecanim/human/handle.h
@@ -0,0 +1,40 @@
+#pragma once
+
+#include "Runtime/mecanim/defs.h"
+#include "Runtime/mecanim/memory.h"
+#include "Runtime/mecanim/types.h"
+#include "Runtime/Math/Simd/xform.h"
+
+#include "Runtime/Serialize/TransferFunctions/SerializeTransfer.h"
+
+namespace mecanim
+{
+
+namespace human
+{
+ struct Handle
+ {
+ DEFINE_GET_TYPESTRING(Handle)
+
+ Handle():
+ m_X(math::xformIdentity()),
+ m_ParentHumanIndex(numeric_limits<uint32_t>::max_value),
+ m_ID(numeric_limits<uint32_t>::max_value)
+ {
+ }
+
+ math::xform m_X; // Local tranform
+ uint32_t m_ParentHumanIndex; // Related parent's human bone index
+ uint32_t m_ID;
+
+ template<class TransferFunction>
+ inline void Transfer (TransferFunction& transfer)
+ {
+ TRANSFER(m_X);
+ TRANSFER(m_ParentHumanIndex);
+ TRANSFER(m_ID);
+ }
+ };
+}
+
+}