www.pudn.com > 3D_Tank.rar > Camera.h


#ifndef __CAMERA_H__ 
#define __CAMERA_H__ 
 
#include  
#include "ComPtr.h" 
 
class CCamera 
{ 
public: 
	CCamera(); 
	~CCamera(); 
	VOID Yaw(float fAngle);				//偏航,绕着Y轴旋转 
    VOID Pitch(float fAngle);			//俯仰,绕着X轴旋转 
	VOID Roll(float fAngle);			//翻滚,绕着Z轴旋转 
	VOID Walk(float fLength);			//行进,沿着look轴前进和后退 
	VOID Strafe(float fLength);			//横行,沿着right轴左移和右移 
	VOID Fly(float fLength);			//起降,沿着up轴上移和下移 
	VOID YawTo(float fAngle); 
	VOID PitchTo(float fAngle); 
	VOID RollTo(float fAngle); 
	D3DXVECTOR3& GetPosition(); 
	D3DXVECTOR3& GetLook(); 
	VOID SetPosition(const D3DXVECTOR3 &position); 
	VOID SetDirection(const D3DXVECTOR3 &look, const D3DXVECTOR3 &up, const D3DXVECTOR3 &right); 
    VOID GetViewMarix(D3DXMATRIX *matView); 
 
private: 
	D3DXVECTOR3 m_vPosition; 
	D3DXVECTOR3 m_vLook; 
	D3DXVECTOR3 m_vUp; 
	D3DXVECTOR3 m_vRight; 
 
	float		m_fYaw; 
	float		m_fPitch; 
	float		m_fRoll; 
}; 
 
#endif   //照相机类