/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2007.02.08 * ³» ¿ë : ½ÃÁ¡ °íÁ¤ Ä«¸Þ¶ó Ŭ·¡½º * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Camera.h" /// ½ÃÁ¡ °íÁ¤ Ä«¸Þ¶ó class cLookAtCamera : public cCamera { public: cLookAtCamera(); virtual ~cLookAtCamera(); /// ½ÃÁ¡ void SetLookAt( const NiPoint3& target ); void SetLookAt( float x, float y, float z ); const NiPoint3& GetLookAt() const; /// ¸ñÇ¥Á¡À¸·ÎºÎÅÍÀÇ ½ÇÁ¦ °Å¸® float GetActualLookAtDistance() const; float GetDesiredLookAtDistance() const; void SetMinCameraDist( float dist ); void SetMaxCameraDist( float dist ); protected: /// ó¸® virtual void OnProcess( float deltaTime ); virtual void OnProcessInput( float deltaTime ); protected: /// ½ÃÁ¡ NiPoint3 mLookAt; float mMinCameraDist; float mMaxCameraDist; /// ¹æÇâ NiPoint3 mTargetDirection; NiPoint3 mDirection; /// À§Ä¡ NiPoint3 mTargetPos; NiPoint3 mPos; /// ȸÀü °¢µµ //float mTargetYawAngle; float mYawAngle; //float mTargetPitchAngle; float mPitchAngle; /// ½ÃÁ¡°ú Ä«¸Þ¶ó »çÀÌÀÇ °Å¸® float mDesiredLookAtDistance; /// º¸Á¤µÈ ½ÃÁ¡°ú Ä«¸Þ¶ó »çÀÌÀÇ ½ÇÁ¦ °Å¸® float mActualLookAtDistance; }; inline void cLookAtCamera::SetLookAt( const NiPoint3& target ) { mLookAt = target; } inline void cLookAtCamera::SetLookAt( float x, float y, float z ) { mLookAt.x = x; mLookAt.y = y; mLookAt.z = z; } inline const NiPoint3& cLookAtCamera::GetLookAt() const { return mLookAt; } inline float cLookAtCamera::GetActualLookAtDistance() const { return mActualLookAtDistance; } inline float cLookAtCamera::GetDesiredLookAtDistance() const { return mDesiredLookAtDistance; }