www.pudn.com > Chesssource.rar > transform.h


#if !defined(_TRANSFORM_H_) 
#define _TRANSFORM_H_ 
 
	 
class cTransform 
{ 
protected: 
	BOOL	m_bBillboard; 
 
	float m_fXPos, m_fYPos, m_fZPos; 
	float m_fXRotation, m_fYRotation, m_fZRotation; 
	float m_fXScale, m_fYScale, m_fZScale; 
 
	D3DXMATRIX m_matWorld; 
	D3DXMATRIX m_matScale; 
	D3DXMATRIX m_matRotation; 
	D3DXMATRIX m_matTranslation; 
 
	D3DXMATRIX	*m_matCombine1; 
	D3DXMATRIX	*m_matCombine2; 
public: 
	cTransform(); 
 
	D3DXMATRIX	*GetMatrix( cGraphics *pGraphics = NULL ); 
	void		SetCombineMatrix1( D3DXMATRIX *matMatrix = NULL ); 
	void		SetCombineMatrix2( D3DXMATRIX *matMatrix = 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 ); 
	HRESULT		UpdateMatrix( cGraphics *pGraphics = NULL ); 
	void		EnableBillboard( BOOL bEnable = TRUE ); 
 
    float GetXPos(); 
    float GetYPos(); 
    float GetZPos(); 
    float GetXRotation(); 
    float GetYRotation(); 
    float GetZRotation(); 
    float GetXScale(); 
    float GetYScale(); 
    float GetZScale(); 
}; 
 
#endif