/********************************************************************
*
* File: fsC3dModelData.h
*
* Purpose: Marmalade 3d model data
*
*********************************************************************/
#ifndef fsC3dModelDatahdr
#define fsC3dModelDatahdr
#include <math/Vec3.h>
#include "../../fsI3dModelData.h"
class fsStr;
class fsI3dAnimation;
namespace cocos2d
{
class Sprite3D;
}
namespace cocos2d
{
class ActionInterval;
}
class fsC3dModelData : public fsI3dModelData
{
friend class fsC3dModelManager;
friend class fsCNative3dSprite;
friend class fsCNative3dScene;
public:
static fsStr modelFilenameGet(const fsStr& pFilename);
virtual ~fsC3dModelData();<--- Destructor in derived class
protected:
void offsetSetDo(fsVec3d const& pPos) override;
void scaleSetDo(fsF32 pScale) override;
void animationSetDo(fsI3dAnimation* pAnimation, std::function<void()> pCallBack) override;
void alignToTrackDo(fsI3dModelData* pTrack) override;
fsC3dModelData(const fsStr& pFileName);
private:
cocos2d::Vec3 mOffest;
cocos2d::Sprite3D* mModel;
cocos2d::ActionInterval* mAanimationSequence;
};
#endif