summaryrefslogtreecommitdiff
path: root/Runtime/mecanim/animation/constantclip.cpp
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/animation/constantclip.cpp
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/mecanim/animation/constantclip.cpp')
-rw-r--r--Runtime/mecanim/animation/constantclip.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/Runtime/mecanim/animation/constantclip.cpp b/Runtime/mecanim/animation/constantclip.cpp
new file mode 100644
index 0000000..1fd07cf
--- /dev/null
+++ b/Runtime/mecanim/animation/constantclip.cpp
@@ -0,0 +1,34 @@
+#include "UnityPrefix.h"
+#include "constantclip.h"
+#include "Runtime/mecanim/memory.h"
+
+namespace mecanim
+{
+ namespace animation
+ {
+ void SampleClip (const ConstantClip& curveData, uint32_t outputCount, float* output)
+ {
+ DebugAssert(outputCount <= curveData.curveCount);
+
+ memcpy(output, curveData.data.Get(), outputCount * sizeof(float));
+ }
+
+ float SampleClipAtIndex (const ConstantClip& curveData, int index)
+ {
+ Assert(index < curveData.curveCount);
+
+ return curveData.data[index];
+ }
+
+ void DestroyConstantClip (ConstantClip& clip, memory::Allocator& alloc)
+ {
+ alloc.Deallocate(clip.data);
+ }
+
+ void CreateConstantClip (ConstantClip& clip, size_t curveCount, memory::Allocator& alloc)
+ {
+ clip.curveCount = curveCount;
+ clip.data = alloc.ConstructArray<float> (curveCount);
+ }
+ }
+}