www.pudn.com > Chesssource.rar > Object.h
#if !defined(_OBJECT_H_)
#define _OBJECT_H_
class cObject
{
protected:
cGraphics *m_pGraphics;
cMesh *m_pMesh;
cTransform m_pPos;
BOOL m_bBillboard;
DWORD m_dwStartTime;
D3DXMATRIX m_matScale;
D3DXMATRIX m_matRotation;
D3DXMATRIX m_matTranslation;
void UpdateFrame( sFrame *pFrame, D3DXMATRIX *matMatrix );
void DrawFrame( sFrame *pFrame, BOOL bTex );
void DrawMesh( sMesh *pMesh );
public:
cObject();
~cObject();
BOOL Create( cGraphics *pGraphics, cMesh *pMesh = NULL );
void Free();
BOOL EnableBillboard( BOOL bEnable = TRUE );
BOOL AttachToObject( cObject *pObject, char *strFrameName = NULL );
void Move( float fXPos, float fYPos, float fZPos );
void MoveRel( float fXAdd, float fYAdd, float fZAdd );
void Rotate( float fXRot, float fYRot, float fZRot );
void RotateRel( float fXAdd, float fYAdd, float fZAdd );
void Scale( float fXSca, float fYSca, float fZSca );
void ScaleRel( float fXAdd, float fYAdd, float fZAdd );
D3DXMATRIX *GetMatrix();
float GetXPos();
float GetYPos();
float GetZPos();
float GetXRotation();
float GetYRotation();
float GetZRotation();
float GetXScale();
float GetYScale();
float GetZScale();
BOOL GetBounds( D3DXVECTOR3 *vecMin, D3DXVECTOR3 *vecMax, float fRadius );
BOOL SetMesh( cMesh *pMesh );
cMesh *GetMesh();
BOOL Update();
BOOL Render( BOOL bTex );
};
#endif