forked from 0ad/0ad
45 lines
983 B
C
45 lines
983 B
C
|
/************************************************************
|
||
|
*
|
||
|
* File Name: Model.H
|
||
|
*
|
||
|
* Description: CModel is a specific instance of a model.
|
||
|
* It contains a pointer to CModelDef, and
|
||
|
* includes all instance information, such as
|
||
|
* current animation pose.
|
||
|
*
|
||
|
************************************************************/
|
||
|
|
||
|
#ifndef MODEL_H
|
||
|
#define MODEL_H
|
||
|
|
||
|
#include "Texture.h"
|
||
|
#include "ModelDef.h"
|
||
|
|
||
|
class CModel
|
||
|
{
|
||
|
public:
|
||
|
CModel();
|
||
|
~CModel();
|
||
|
|
||
|
bool InitModel(CModelDef *modeldef);
|
||
|
void Destroy();
|
||
|
|
||
|
void SetPose (const char *anim_name, float time);
|
||
|
void ClearPose ();
|
||
|
|
||
|
//access functions
|
||
|
public:
|
||
|
CModelDef *GetModelDef() { return m_pModelDef; }
|
||
|
CMatrix3D *GetBonePoses() { return m_pBonePoses; }
|
||
|
|
||
|
void SetTexture(const CTexture& tex) { m_Texture=tex; }
|
||
|
CTexture* GetTexture() { return &m_Texture; }
|
||
|
|
||
|
protected:
|
||
|
CTexture m_Texture;
|
||
|
CModelDef *m_pModelDef;
|
||
|
CMatrix3D *m_pBonePoses; //describes the current pose for each bone
|
||
|
};
|
||
|
|
||
|
#endif
|