www.pudn.com > HeightMap.rar > Camera.h
#ifndef _CAMERA_H
#define _CAMERA_H
// 摄像机类
class CCamera {
public:
// 摄像机类的构造函数
CCamera();
// 下面的函数是获取有关摄像机的数据
CVector3 Position() { return m_vPosition; }
CVector3 View() { return m_vView; }
CVector3 UpVector() { return m_vUpVector; }
CVector3 Strafe() { return m_vStrafe; }
// 摄像机位置
void PositionCamera(float positionX, float positionY, float positionZ,
float viewX, float viewY, float viewZ,
float upVectorX, float upVectorY, float upVectorZ);
// 旋转摄像机
void RotateView(float angle, float X, float Y, float Z);
// 移动视点
void SetViewByMouse();
// 绕一点旋转摄像机
void RotateAroundPoint(CVector3 vCenter, float X, float Y, float Z);
// 左右移动摄像机
void StrafeCamera(float speed);
// 移动摄像机
void MoveCamera(float speed);
// 键盘事件
void CheckForMovement();
void Update();
void Look();
private:
// 摄像机的位置
CVector3 m_vPosition;
// 摄像机的视野
CVector3 m_vView;
// 摄像机的向上的位置
CVector3 m_vUpVector;
// 摄像机左右方向
CVector3 m_vStrafe;
};
#endif