raSystem
1.0 bata
raRawInputCamera.h
Go to the documentation of this file.
1
#pragma once
2
3
class
raRawInputCamera
:
public
raClass
4
{
5
public
:
6
raRawInputCamera
() : raClass() { }
7
8
~raRawInputCamera
(
void
);
9
10
virtual
void
FrameMove
(
float
fTime,
float
FPS )
11
{
12
D3DXMatrixInverse((D3DXMATRIX *) &
m_mCameraWorld
, NULL,(D3DXMATRIX *) &
m_mView
);
13
}
14
15
// Functions to change camera matrices
16
virtual
void
Reset
();
17
virtual
void
SetViewParams
(
raVector3
* pvEyePt,
raVector3
* pvLookatPt );
18
virtual
void
SetProjParams
(
float
fFOV,
float
fAspect,
float
fNearPlane,
float
fFarPlane );
19
virtual
void
SetOrthoCamera
(
raVector2
* pvWindowSize,
float
fNearPlane,
float
fFarPlane);
20
// Functions to change behavior
21
virtual
void
SetDragRect
( RECT& rc )
22
{
23
m_rcDrag
= rc;
24
}
25
void
SetInvertPitch
(
bool
bInvertPitch )
26
{
27
m_bInvertPitch
= bInvertPitch;
28
}
29
void
SetDrag
(
bool
bMovementDrag, FLOAT fTotalDragTimeToZero = 0.25f )
30
{
31
m_bMovementDrag
= bMovementDrag;
m_fTotalDragTimeToZero
= fTotalDragTimeToZero;
32
}
33
void
SetEnableYAxisMovement
(
bool
bEnableYAxisMovement )
34
{
35
m_bEnableYAxisMovement
= bEnableYAxisMovement;
36
}
37
void
SetEnablePositionMovement
(
bool
bEnablePositionMovement )
38
{
39
m_bEnablePositionMovement
= bEnablePositionMovement;
40
}
41
void
SetClipToBoundary
(
bool
bClipToBoundary, D3DXVECTOR3* pvMinBoundary,
42
raVector3
* pvMaxBoundary )
43
{
44
m_bClipToBoundary
= bClipToBoundary;
if
( pvMinBoundary )
m_vMinBoundary
= *pvMinBoundary;
45
if
( pvMaxBoundary )
m_vMaxBoundary
= *pvMaxBoundary;
46
}
47
void
SetScalers
( FLOAT fRotationScaler = 0.01f, FLOAT fMoveScaler = 5.0f )
48
{
49
m_fRotationScaler
= fRotationScaler;
m_fMoveScaler
= fMoveScaler;
50
}
51
void
SetNumberOfFramesToSmoothMouseData
(
int
nFrames )
52
{
53
if
( nFrames > 0 )
m_fFramesToSmoothMouseData
= ( float )nFrames;
54
}
55
void
SetResetCursorAfterMove
(
bool
bResetCursorAfterMove )
56
{
57
m_bResetCursorAfterMove
= bResetCursorAfterMove;
58
}
59
60
// Functions to get state
61
virtual
const
raMatrix
GetViewMatrix
()
62
{
63
return
raMatrix
(
m_mView
);
64
}
65
virtual
const
raMatrix
GetProjMatrix
()
66
{
67
return
raMatrix
(
m_mProj
);
68
}
69
virtual
const
raMatrix
GetOrthoMatrix
()
70
{
71
return
raMatrix
(
m_mOrtho
);
72
}
73
virtual
raVector3
*
GetEyePt
()
74
{
75
return
&
raVector3
(
m_vEye
);
76
}
77
virtual
raVector3
*
GetLookAtPt
()
78
{
79
return
&
raVector3
(
m_vLookAt
);
80
}
81
virtual
float
GetNearClip
()
82
{
83
return
m_fNearPlane
;
84
}
85
virtual
float
GetFarClip
()
86
{
87
return
m_fFarPlane
;
88
}
89
90
virtual
raMatrix
*
GetWorldMatrix
()
91
{
92
return
&
m_mCameraWorld
;
93
}
94
95
virtual
raVector3
*
GetWorldRight
()
96
{
97
return
(
raVector3
*)&
m_mCameraWorld
.
m11
;
98
}
99
virtual
raVector3
*
GetWorldUp
()
100
{
101
return
(
raVector3
*)&
m_mCameraWorld
.
m21
;
102
}
103
virtual
raVector3
*
GetWorldAhead
()
104
{
105
return
(
raVector3
*)&
m_mCameraWorld
.
m31
;
106
}
107
raVector3
*
GetVelocity
()
108
{
109
return
&
m_vVelocity
;
110
}
111
112
bool
IsBeingDragged
()
113
{
114
return
(
m_bMouseLButtonDown
||
m_bMouseMButtonDown
||
m_bMouseRButtonDown
);
115
}
116
bool
IsMouseLButtonDown
()
117
{
118
return
m_bMouseLButtonDown
;
119
}
120
bool
IsMouseMButtonDown
()
121
{
122
return
m_bMouseMButtonDown
;
123
}
124
bool
IsMouseRButtonDown
()
125
{
126
return
m_bMouseRButtonDown
;
127
}
128
129
virtual
void
GetInput
(
IRARawDevice
* input);
130
protected
:
131
// Functions to map a WM_KEYDOWN key to a D3DUtil_CameraKeys enum
132
void
ConstrainToBoundary
(
raVector3
* pV );
133
void
UpdateMouseDelta
();
134
void
UpdateVelocity
(
float
fElapsedTime );
135
136
protected
:
137
raMatrix
m_mView
;
138
raMatrix
m_mCameraWorld
;
139
raMatrix
m_mProj
;
140
raMatrix
m_mOrtho
;
141
raVector3
m_vGamePadLeftThumb
;
142
raVector3
m_vGamePadRightThumb
;
143
double
m_GamePadLastActive
[4];
144
145
int
m_cKeysDown
;
146
BYTE
m_aKeys
[
CAM_MAX_KEYS
];
147
raVector3
m_vKeyboardDirection
;
148
POINT
m_ptLastMousePosition
;
149
bool
m_bMouseLButtonDown
;
150
bool
m_bMouseMButtonDown
;
151
bool
m_bMouseRButtonDown
;
152
int
m_nCurrentButtonMask
;
153
int
m_nMouseWheelDelta
;
154
raVector2
m_vMouseDelta
;
155
float
m_fFramesToSmoothMouseData
;
156
157
raVector3
m_vDefaultEye
;
158
raVector3
m_vDefaultLookAt
;
159
raVector3
m_vEye
;
160
raVector3
m_vLookAt
;
161
float
m_fCameraYawAngle
;
162
float
m_fCameraPitchAngle
;
163
164
RECT
m_rcDrag
;
165
raVector3
m_vVelocity
;
166
bool
m_bMovementDrag
;
167
raVector3
m_vVelocityDrag
;
168
FLOAT
m_fDragTimer
;
169
FLOAT
m_fTotalDragTimeToZero
;
170
raVector2
m_vRotVelocity
;
171
172
float
m_fFOV
;
173
float
m_fAspect
;
174
float
m_fNearPlane
;
175
float
m_fFarPlane
;
176
177
float
m_fRotationScaler
;
178
float
m_fMoveScaler
;
179
180
bool
m_bInvertPitch
;
181
bool
m_bEnablePositionMovement
;
182
bool
m_bEnableYAxisMovement
;
183
184
bool
m_bClipToBoundary
;
185
raVector3
m_vMinBoundary
;
186
raVector3
m_vMaxBoundary
;
187
188
bool
m_bResetCursorAfterMove
;
189
HWND
m_hwnd
;
190
};
raRawInputCamera::SetOrthoCamera
virtual void SetOrthoCamera(raVector2 *pvWindowSize, float fNearPlane, float fFarPlane)
raRawInputCamera::m_vDefaultEye
raVector3 m_vDefaultEye
Definition:
raRawInputCamera.h:157
raRawInputCamera::m_rcDrag
RECT m_rcDrag
Definition:
raRawInputCamera.h:164
raRawInputCamera::GetFarClip
virtual float GetFarClip()
Definition:
raRawInputCamera.h:85
raMatrix::m11
float m11
Definition:
raMatrix.h:12
raRawInputCamera::GetNearClip
virtual float GetNearClip()
Definition:
raRawInputCamera.h:81
raRawInputCamera::m_nCurrentButtonMask
int m_nCurrentButtonMask
Definition:
raRawInputCamera.h:152
raRawInputCamera::SetScalers
void SetScalers(FLOAT fRotationScaler=0.01f, FLOAT fMoveScaler=5.0f)
Definition:
raRawInputCamera.h:47
raRawInputCamera::m_vDefaultLookAt
raVector3 m_vDefaultLookAt
Definition:
raRawInputCamera.h:158
raMatrix
Definition:
raMatrix.h:5
raRawInputCamera::SetDrag
void SetDrag(bool bMovementDrag, FLOAT fTotalDragTimeToZero=0.25f)
Definition:
raRawInputCamera.h:29
raRawInputCamera::m_bInvertPitch
bool m_bInvertPitch
Definition:
raRawInputCamera.h:180
raRawInputCamera::m_vVelocityDrag
raVector3 m_vVelocityDrag
Definition:
raRawInputCamera.h:167
CAM_MAX_KEYS
Definition:
raCamera.h:23
raRawInputCamera::raRawInputCamera
raRawInputCamera()
Definition:
raRawInputCamera.h:6
raRawInputCamera::GetWorldUp
virtual raVector3 * GetWorldUp()
Definition:
raRawInputCamera.h:99
raRawInputCamera::m_bEnableYAxisMovement
bool m_bEnableYAxisMovement
Definition:
raRawInputCamera.h:182
raRawInputCamera::m_GamePadLastActive
double m_GamePadLastActive[4]
Definition:
raRawInputCamera.h:143
raRawInputCamera::m_fCameraYawAngle
float m_fCameraYawAngle
Definition:
raRawInputCamera.h:161
raRawInputCamera::m_bMouseRButtonDown
bool m_bMouseRButtonDown
Definition:
raRawInputCamera.h:151
raRawInputCamera::GetInput
virtual void GetInput(IRARawDevice *input)
raRawInputCamera::m_vLookAt
raVector3 m_vLookAt
Definition:
raRawInputCamera.h:160
raRawInputCamera::SetNumberOfFramesToSmoothMouseData
void SetNumberOfFramesToSmoothMouseData(int nFrames)
Definition:
raRawInputCamera.h:51
raRawInputCamera::m_vMaxBoundary
raVector3 m_vMaxBoundary
Definition:
raRawInputCamera.h:186
raRawInputCamera::m_hwnd
HWND m_hwnd
Definition:
raRawInputCamera.h:189
raRawInputCamera::~raRawInputCamera
~raRawInputCamera(void)
raRawInputCamera::m_fDragTimer
FLOAT m_fDragTimer
Definition:
raRawInputCamera.h:168
raRawInputCamera::m_fFramesToSmoothMouseData
float m_fFramesToSmoothMouseData
Definition:
raRawInputCamera.h:155
raRawInputCamera::FrameMove
virtual void FrameMove(float fTime, float FPS)
Definition:
raRawInputCamera.h:10
raRawInputCamera::m_vGamePadLeftThumb
raVector3 m_vGamePadLeftThumb
Definition:
raRawInputCamera.h:141
raRawInputCamera::GetVelocity
raVector3 * GetVelocity()
Definition:
raRawInputCamera.h:107
raRawInputCamera::m_fAspect
float m_fAspect
Definition:
raRawInputCamera.h:173
raRawInputCamera::m_bMouseLButtonDown
bool m_bMouseLButtonDown
Definition:
raRawInputCamera.h:149
raRawInputCamera::m_bEnablePositionMovement
bool m_bEnablePositionMovement
Definition:
raRawInputCamera.h:181
raRawInputCamera::m_vRotVelocity
raVector2 m_vRotVelocity
Definition:
raRawInputCamera.h:170
IRARawDevice
Definition:
IRARawDevice.h:3
raRawInputCamera::SetEnableYAxisMovement
void SetEnableYAxisMovement(bool bEnableYAxisMovement)
Definition:
raRawInputCamera.h:33
raMatrix::m31
float m31
Definition:
raMatrix.h:12
raRawInputCamera::SetProjParams
virtual void SetProjParams(float fFOV, float fAspect, float fNearPlane, float fFarPlane)
raVector2
Definition:
raVector2.h:3
raRawInputCamera::UpdateVelocity
void UpdateVelocity(float fElapsedTime)
raRawInputCamera::m_fCameraPitchAngle
float m_fCameraPitchAngle
Definition:
raRawInputCamera.h:162
raRawInputCamera::ConstrainToBoundary
void ConstrainToBoundary(raVector3 *pV)
raRawInputCamera::m_bMouseMButtonDown
bool m_bMouseMButtonDown
Definition:
raRawInputCamera.h:150
raRawInputCamera::SetEnablePositionMovement
void SetEnablePositionMovement(bool bEnablePositionMovement)
Definition:
raRawInputCamera.h:37
raRawInputCamera::m_cKeysDown
int m_cKeysDown
Definition:
raRawInputCamera.h:145
raVector3
Definition:
raVector3.h:5
raRawInputCamera::SetDragRect
virtual void SetDragRect(RECT &rc)
Definition:
raRawInputCamera.h:21
raRawInputCamera::m_fRotationScaler
float m_fRotationScaler
Definition:
raRawInputCamera.h:177
raRawInputCamera::GetProjMatrix
virtual const raMatrix GetProjMatrix()
Definition:
raRawInputCamera.h:65
raRawInputCamera::SetInvertPitch
void SetInvertPitch(bool bInvertPitch)
Definition:
raRawInputCamera.h:25
raRawInputCamera::UpdateMouseDelta
void UpdateMouseDelta()
raRawInputCamera::SetResetCursorAfterMove
void SetResetCursorAfterMove(bool bResetCursorAfterMove)
Definition:
raRawInputCamera.h:55
raRawInputCamera::m_mCameraWorld
raMatrix m_mCameraWorld
Definition:
raRawInputCamera.h:138
raRawInputCamera::SetViewParams
virtual void SetViewParams(raVector3 *pvEyePt, raVector3 *pvLookatPt)
raRawInputCamera::m_mOrtho
raMatrix m_mOrtho
Definition:
raRawInputCamera.h:140
raRawInputCamera::Reset
virtual void Reset()
raRawInputCamera::m_fTotalDragTimeToZero
FLOAT m_fTotalDragTimeToZero
Definition:
raRawInputCamera.h:169
raRawInputCamera::m_fMoveScaler
float m_fMoveScaler
Definition:
raRawInputCamera.h:178
raRawInputCamera::IsMouseRButtonDown
bool IsMouseRButtonDown()
Definition:
raRawInputCamera.h:124
raRawInputCamera::GetWorldAhead
virtual raVector3 * GetWorldAhead()
Definition:
raRawInputCamera.h:103
raRawInputCamera::m_aKeys
BYTE m_aKeys[CAM_MAX_KEYS]
Definition:
raRawInputCamera.h:146
raRawInputCamera::GetWorldMatrix
virtual raMatrix * GetWorldMatrix()
Definition:
raRawInputCamera.h:90
raRawInputCamera::m_vGamePadRightThumb
raVector3 m_vGamePadRightThumb
Definition:
raRawInputCamera.h:142
raRawInputCamera::m_bMovementDrag
bool m_bMovementDrag
Definition:
raRawInputCamera.h:166
raRawInputCamera::m_fFarPlane
float m_fFarPlane
Definition:
raRawInputCamera.h:175
raRawInputCamera::m_nMouseWheelDelta
int m_nMouseWheelDelta
Definition:
raRawInputCamera.h:153
raRawInputCamera::IsBeingDragged
bool IsBeingDragged()
Definition:
raRawInputCamera.h:112
raRawInputCamera::m_mView
raMatrix m_mView
Definition:
raRawInputCamera.h:137
raRawInputCamera::m_vMouseDelta
raVector2 m_vMouseDelta
Definition:
raRawInputCamera.h:154
raRawInputCamera::SetClipToBoundary
void SetClipToBoundary(bool bClipToBoundary, D3DXVECTOR3 *pvMinBoundary, raVector3 *pvMaxBoundary)
Definition:
raRawInputCamera.h:41
raRawInputCamera::IsMouseMButtonDown
bool IsMouseMButtonDown()
Definition:
raRawInputCamera.h:120
raRawInputCamera::m_vMinBoundary
raVector3 m_vMinBoundary
Definition:
raRawInputCamera.h:185
raRawInputCamera::m_fNearPlane
float m_fNearPlane
Definition:
raRawInputCamera.h:174
raRawInputCamera::m_vEye
raVector3 m_vEye
Definition:
raRawInputCamera.h:159
raRawInputCamera::m_bResetCursorAfterMove
bool m_bResetCursorAfterMove
Definition:
raRawInputCamera.h:188
raRawInputCamera
Definition:
raRawInputCamera.h:3
raRawInputCamera::GetWorldRight
virtual raVector3 * GetWorldRight()
Definition:
raRawInputCamera.h:95
raRawInputCamera::m_ptLastMousePosition
POINT m_ptLastMousePosition
Definition:
raRawInputCamera.h:148
raMatrix
class RAPI raMatrix
Definition:
raVector3.h:3
raRawInputCamera::m_bClipToBoundary
bool m_bClipToBoundary
Definition:
raRawInputCamera.h:184
raRawInputCamera::GetOrthoMatrix
virtual const raMatrix GetOrthoMatrix()
Definition:
raRawInputCamera.h:69
raRawInputCamera::GetLookAtPt
virtual raVector3 * GetLookAtPt()
Definition:
raRawInputCamera.h:77
raRawInputCamera::m_mProj
raMatrix m_mProj
Definition:
raRawInputCamera.h:139
raRawInputCamera::IsMouseLButtonDown
bool IsMouseLButtonDown()
Definition:
raRawInputCamera.h:116
raRawInputCamera::GetEyePt
virtual raVector3 * GetEyePt()
Definition:
raRawInputCamera.h:73
raRawInputCamera::GetViewMatrix
virtual const raMatrix GetViewMatrix()
Definition:
raRawInputCamera.h:61
raRawInputCamera::m_fFOV
float m_fFOV
Definition:
raRawInputCamera.h:172
raRawInputCamera::m_vVelocity
raVector3 m_vVelocity
Definition:
raRawInputCamera.h:165
raMatrix::m21
float m21
Definition:
raMatrix.h:12
raRawInputCamera::m_vKeyboardDirection
raVector3 m_vKeyboardDirection
Definition:
raRawInputCamera.h:147
include
raRawInputCamera.h
Generated by
1.8.13