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