?? camera.h
字號(hào):
//========================================================
/**
* @file Camera.h
*
* 項(xiàng)目描述: 3DS文件載入
* 文件描述: 攝像機(jī)類(lèi)
* 適用平臺(tái): Windows98/2000/NT/XP
*
* 作者: WWBOSS
* 電子郵件: wwboss123@gmail.com
* 創(chuàng)建日期: 2006-12-06
* 修改日期: 2007-04-03(對(duì)地形的邊界進(jìn)行了限制和修正)
*
*/
//========================================================
#ifndef __CAMERA_H__
#define __CAMERA_H__
#include "stdafx.h"
#include "Vector.h" /**< 包含向量類(lèi)頭文件 */
#include "GLFrame.h"
/** 攝像機(jī)類(lèi) */
class Camera
{
public:
/** 構(gòu)造函數(shù)和析構(gòu)函數(shù) */
Camera();
~Camera();
/** 獲得攝像機(jī)狀態(tài)方法 */
Vector3 getPosition() { return m_Position; }
Vector3 getView() { return m_View; }
Vector3 getUpVector() { return m_UpVector; }
float getSpeed() { return m_Speed; }
/** 設(shè)置速度 */
void setSpeed(float speed)
{
m_Speed = speed;
}
/** 設(shè)置攝像機(jī)的位置, 觀察點(diǎn)和向上向量 */
void setCamera(float positionX, float positionY, float positionZ,
float viewX, float viewY, float viewZ,
float upVectorX, float upVectorY, float upVectorZ);
/** 旋轉(zhuǎn)攝像機(jī)方向 */
void rotateView(float angle, float X, float Y, float Z);
/** 根據(jù)鼠標(biāo)設(shè)置攝像機(jī)觀察方向 */
void setViewByMouse();
/** 左右攝像機(jī)移動(dòng) */
void yawCamera(float speed);
/** 前后移動(dòng)攝像機(jī) */
void moveCamera(float speed);
/** 放置攝像機(jī) */
void setLook();
//得到攝像機(jī)指針
static Camera* GetCamera(void) { return m_pCamera;}
private:
/** 攝像機(jī)屬性 */
static Camera *m_pCamera; /**< 當(dāng)前全局?jǐn)z像機(jī)指針 */
Vector3 m_Position; /**< 位置 */
Vector3 m_View; /**< 朝向 */
Vector3 m_UpVector; /**< 向上向量 */
float m_Speed; /**< 速度 */
};
#endif //__CAMERA_H__
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -