open source

This commit is contained in:
lvfulong
2020-11-11 16:17:13 +08:00
parent 4d989f3ecb
commit bc4ca748de
2441 changed files with 623057 additions and 2 deletions
@@ -0,0 +1,63 @@
/**
@file JCKeyframeNodeList.h
@brief
@author James
@version 1.0
@date 2018_7_12
*/
#ifndef __JCKeyframeNodeList_H__
#define __JCKeyframeNodeList_H__
#include <stdio.h>
#include <string>
#include <map>
#include "JCKeyframeNode.h"
#include <vector>
namespace laya
{
class JCKeyframeNodeList
{
public:
static void evaluateClipDatasRealTime(JCKeyframeNodeList* nodes, float playCurTime, short* realTimeCurrentFrameIndexs,int indexSize, bool addtive, bool frontPlay);
JCKeyframeNodeList();
virtual ~JCKeyframeNodeList();
int getCount()
{
return m_vNodes.size();
}
void setCount(int value)
{
m_vNodes.resize(value);
}
protected:
static float _hermiteInterpolate(JCFloatKeyframe* frame, JCFloatKeyframe* nextFrame, float t, float dur);
static void _evaluateFrameNodeArrayDatasRealTime(std::vector<JCKeyFrame*>& keyFrames, int frameIndex, bool isEnd, float playCurTime, int width, JCFloatArrayKeyframe::FloatArrayBuffer& outDatas);
static void _hermiteInterpolateArray(JCFloatArrayKeyframe* frame, JCFloatArrayKeyframe* nextFrame, float t, float dur, JCFloatArrayKeyframe::FloatArrayBuffer& out);
static void quaternionConjugate(float* value, int offset, float* result);
static void quaternionMultiply(float* le, float* re, float* oe);
public:
std::vector<JCKeyframeNode*> m_vNodes;
};
}
//------------------------------------------------------------------------------
#endif //__JCKeyframeNodeList_H__
//-----------------------------END FILE--------------------------------