27 #define KEY_WAS_DOWN_MASK 0x80 28 #define KEY_IS_DOWN_MASK 0x01 30 #define MOUSE_LEFT_BUTTON RMOUSE_LBUTTON 31 #define MOUSE_MIDDLE_BUTTON RMOUSE_MBUTTON 32 #define MOUSE_RIGHT_BUTTON RMOUSE_RBUTTON 33 #define MOUSE_WHEEL 0x08 41 virtual long OnKeyDown(HWND wnd, WPARAM wParam, LPARAM lParam);
42 virtual long OnKeyUp(HWND wnd, WPARAM wParam, LPARAM lParam);
43 virtual long OnRMouseUp(HWND wnd, WPARAM wParam, LPARAM lParam);
44 virtual long OnRMouseDown(HWND wnd, WPARAM wParam, LPARAM lParam);
45 virtual long OnLMouseUp(HWND wnd, WPARAM wParam, LPARAM lParam);
46 virtual long OnLMouseDown(HWND wnd, WPARAM wParam, LPARAM lParam);
47 virtual long OnMMouseUp(HWND wnd, WPARAM wParam, LPARAM lParam);
48 virtual long OnMMouseDown(HWND wnd, WPARAM wParam, LPARAM lParam);
49 virtual long OnCaptureChange(HWND wnd, WPARAM wParam, LPARAM lParam);
50 virtual long OnMouseWheel(HWND wnd, WPARAM wParam, LPARAM lParam);
52 virtual void FrameMove(
float fTime,
float FPS ) =0;
61 virtual void SetProjParams(
float fFOV,
float fAspect,
float fNearPlane,
float fFarPlane );
62 virtual void SetOrthoCamera(
raVector2* pvWindowSize,
float fNearPlane,
float fFarPlane);
70 m_bInvertPitch = bInvertPitch;
72 void SetDrag(
bool bMovementDrag, FLOAT fTotalDragTimeToZero = 0.25f )
74 m_bMovementDrag = bMovementDrag; m_fTotalDragTimeToZero = fTotalDragTimeToZero;
78 m_bEnableYAxisMovement = bEnableYAxisMovement;
82 m_bEnablePositionMovement = bEnablePositionMovement;
87 m_bClipToBoundary = bClipToBoundary;
if( pvMinBoundary ) m_vMinBoundary = *pvMinBoundary;
88 if( pvMaxBoundary ) m_vMaxBoundary = *pvMaxBoundary;
90 void SetScalers( FLOAT fRotationScaler = 0.01f, FLOAT fMoveScaler = 5.0f )
92 m_fRotationScaler = fRotationScaler; m_fMoveScaler = fMoveScaler;
96 if( nFrames > 0 ) m_fFramesToSmoothMouseData = ( float )nFrames;
100 m_bResetCursorAfterMove = bResetCursorAfterMove;
135 return &m_mCameraWorld;
157 return ( m_bMouseLButtonDown || m_bMouseMButtonDown || m_bMouseRButtonDown );
161 return m_bMouseLButtonDown;
165 return m_bMouseMButtonDown;
169 return m_bMouseRButtonDown;
184 void ConstrainToBoundary(
raVector3* pV );
185 void UpdateMouseDelta();
186 void UpdateVelocity(
float fElapsedTime );
187 void GetInput(
bool bGetKeyboardInput,
bool bGetMouseInput,
bool bGetGamepadInput,
188 bool bResetCursorAfterMove );
197 double m_GamePadLastActive[4];
251 virtual void FrameMove(
float fTime,
float FPS );
252 void SetRotateButtons(
bool bLeft,
bool bMiddle,
bool bRight,
bool bRotateWithoutButtonDown =
false );
279 virtual void FrameMove(
float fTime,
float FPS );
284 m_pObject.Add(Object);
void SetScalers(FLOAT fRotationScaler=0.01f, FLOAT fMoveScaler=5.0f)
virtual const raMatrix GetProjMatrix()
bool IsMouseLButtonDown()
virtual void SetDragRect(RECT &rc)
raVector3 m_vGamePadRightThumb
float GetCurrentDistance()
bool IsMouseMButtonDown()
POINT m_ptLastMousePosition
void SetClipToBoundary(bool bClipToBoundary, D3DXVECTOR3 *pvMinBoundary, raVector3 *pvMaxBoundary)
float m_fCameraPitchAngle
raVector3 m_vVelocityDrag
bool m_bEnablePositionMovement
virtual raVector3 * GetEyePt()
virtual void FrameMove(float fTime, float FPS)=0
#define KEY_WAS_DOWN_MASK
raVector3 m_vGamePadLeftThumb
virtual const raMatrix GetOrthoMatrix()
void SetInvertPitch(bool bInvertPitch)
void SetResetCursorAfterMove(bool bResetCursorAfterMove)
bool m_bRotateWithoutButtonDown
void SetEnableYAxisMovement(bool bEnableYAxisMovement)
bool m_bEnableYAxisMovement
raVector3 m_vKeyboardDirection
raArray< raColObject > raObjectArray
virtual void FrameMove(float fTime, float FPS)
void SetEnablePositionMovement(bool bEnablePositionMovement)
raVector3 * GetVelocity()
virtual raVector3 * GetWorldAhead()
virtual raMatrix * GetWorldMatrix()
virtual const raMatrix GetViewMatrix()
void SetDrag(bool bMovementDrag, FLOAT fTotalDragTimeToZero=0.25f)
FLOAT m_fTotalDragTimeToZero
bool IsKeyDown(BYTE key) const
void SetNumberOfFramesToSmoothMouseData(int nFrames)
void AddCollisionObject(raRender *pObject, float CoisionDistance)
raVector3 m_vDefaultLookAt
bool m_bResetCursorAfterMove
bool IsMouseRButtonDown()
virtual float GetNearClip()
virtual raVector3 * GetLookAtPt()
virtual float GetFarClip()
bool WasKeyDown(BYTE key) const
virtual raVector3 * GetWorldUp()
virtual raVector3 * GetWorldRight()
float m_fFramesToSmoothMouseData