diff options
Diffstat (limited to 'Runtime/mecanim/animation/constantclip.cpp')
-rw-r--r-- | Runtime/mecanim/animation/constantclip.cpp | 34 |
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); + } + } +} |