Microsoft.Samples.DirectX.UtilityToolkit.Camera Class Reference

Simple base camera class that moves and rotates. The base class records mouse and keyboard input for use by a derived class, and keeps common state. More...

Inherited by DXGfxLib.FreeCamera, DXGfxLib.FreeCamera, DXGfxLib.ThirdPersonCamera, DXGfxLib.ThirdPersonCamera, Microsoft.Samples.DirectX.UtilityToolkit.FirstPersonCamera, Microsoft.Samples.DirectX.UtilityToolkit.FirstPersonCamera, Microsoft.Samples.DirectX.UtilityToolkit.FirstPersonCamera, Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, and Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera.

Collaboration diagram for Microsoft.Samples.DirectX.UtilityToolkit.Camera:

Collaboration graph
[legend]

List of all members.

Public Member Functions

abstract void FrameMove (float elapsedTime)
 Abstract method to control camera during frame move.
virtual bool HandleMessages (IntPtr hWnd, NativeMethods.WindowMessage msg, IntPtr wParam, IntPtr lParam)
 Call this from your message proc so this class can handle window messages.
virtual void Reset ()
 Reset the camera's position back to the default.
virtual unsafe void SetViewParameters (Vector3 eyePt, Vector3 lookAtPt)
 Client can call this to change the position and direction of camera.
virtual void SetProjectionParameters (float fov, float aspect, float near, float far)
 Calculates the projection matrix based on input params.
abstract void FrameMove (float elapsedTime)
 Abstract method to control camera during frame move.
virtual bool HandleMessages (IntPtr hWnd, NativeMethods.WindowMessage msg, IntPtr wParam, IntPtr lParam)
 Call this from your message proc so this class can handle window messages.
virtual void Reset ()
 Reset the camera's position back to the default.
virtual unsafe void SetViewParameters (Vector3 eyePt, Vector3 lookAtPt)
 Client can call this to change the position and direction of camera.
virtual void SetProjectionParameters (float fov, float aspect, float near, float far)
 Calculates the projection matrix based on input params.
abstract void FrameMove (float elapsedTime)
 Abstract method to control camera during frame move.
virtual bool HandleMessages (IntPtr hWnd, NativeMethods.WindowMessage msg, IntPtr wParam, IntPtr lParam)
 Call this from your message proc so this class can handle window messages.
virtual void Reset ()
 Reset the camera's position back to the default.
virtual unsafe void SetViewParameters (Vector3 eyePt, Vector3 lookAtPt)
 Client can call this to change the position and direction of camera.
virtual void SetProjectionParameters (float fov, float aspect, float near, float far)
 Calculates the projection matrix based on input params.

Static Public Attributes

static readonly Vector3 UpDirection = new Vector3(0,1,0)

Protected Member Functions

 Camera ()
 Constructor for the base camera class (Sets up camera defaults).
void UpdateMouseDelta (float elapsedTime)
 Figure out the mouse delta based on mouse movement.
void UpdateVelocity (float elapsedTime)
 Figure out the velocity based on keyboard input & drag if any.
void ConstrainToBoundary (ref Vector3 v)
 Clamps V to lie inside boundaries.
 Camera ()
 Constructor for the base camera class (Sets up camera defaults).
void UpdateMouseDelta (float elapsedTime)
 Figure out the mouse delta based on mouse movement.
void UpdateVelocity (float elapsedTime)
 Figure out the velocity based on keyboard input & drag if any.
void ConstrainToBoundary (ref Vector3 v)
 Clamps V to lie inside boundaries.
 Camera ()
 Constructor for the base camera class (Sets up camera defaults).
void UpdateMouseDelta (float elapsedTime)
 Figure out the mouse delta based on mouse movement.
void UpdateVelocity (float elapsedTime)
 Figure out the velocity based on keyboard input & drag if any.
void ConstrainToBoundary (ref Vector3 v)
 Clamps V to lie inside boundaries.

Static Protected Member Functions

static CameraKeys MapKey (IntPtr param)
 Maps NativeMethods.WindowMessage.Key* msg to a camera key.
static CameraKeys MapKey (IntPtr param)
 Maps NativeMethods.WindowMessage.Key* msg to a camera key.
static CameraKeys MapKey (IntPtr param)
 Maps NativeMethods.WindowMessage.Key* msg to a camera key.

Protected Attributes

Matrix viewMatrix
Matrix projMatrix
System.Drawing.Point lastMousePosition
bool isMouseLButtonDown
bool isMouseMButtonDown
bool isMouseRButtonDown
int currentButtonMask
int mouseWheelDelta
Vector2 mouseDelta
float framesToSmoothMouseData
Vector3 defaultEye
Vector3 defaultLookAt
Vector3 eye
Vector3 lookAt
float cameraYawAngle
float cameraPitchAngle
System.Drawing.Rectangle dragRectangle
Vector3 velocity
bool isMovementDrag
Vector3 velocityDrag
float dragTimer
float totalDragTimeToZero
Vector2 rotationVelocity
float fieldOfView
float aspectRatio
float nearPlane
float farPlane
float rotationScaler
float moveScaler
bool isInvertPitch
bool isEnablePositionMovement
bool isEnableYAxisMovement
bool isClipToBoundary
Vector3 minBoundary
Vector3 maxBoundary
bool isResetCursorAfterMove
bool[] keys

Properties

bool IsBeingDragged [get]
 Is the camera being 'dragged' at all?
bool IsMouseLeftButtonDown [get]
 Is the left mouse button down.
bool IsMouseRightButtonDown [get]
 Is the right mouse button down.
bool IsMouseMiddleButtonDown [get]
 Is the middle mouse button down.
Matrix ViewMatrix [get]
 Returns the view transformation matrix.
Matrix ProjectionMatrix [get]
 Returns the projection transformation matrix.
Vector3 EyeLocation [get]
 Returns the location of the eye.
Vector3 LookAtPoint [get]
 Returns the look at point of the camera.
bool IsPositionMovementEnabled [get, set]
 Is position movement enabled.


Detailed Description

Simple base camera class that moves and rotates. The base class records mouse and keyboard input for use by a derived class, and keeps common state.

Definition at line 1096 of file dxmutmisc.cs.


Constructor & Destructor Documentation

Microsoft.Samples.DirectX.UtilityToolkit.Camera.Camera (  )  [protected]

Constructor for the base camera class (Sets up camera defaults).

Definition at line 1215 of file dxmutmisc.cs.

Microsoft.Samples.DirectX.UtilityToolkit.Camera.Camera (  )  [protected]

Constructor for the base camera class (Sets up camera defaults).

Definition at line 1215 of file dxmutmisc.cs.

Microsoft.Samples.DirectX.UtilityToolkit.Camera.Camera (  )  [protected]

Constructor for the base camera class (Sets up camera defaults).

Definition at line 1208 of file wdxmutmisc.cs.


Member Function Documentation

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.ConstrainToBoundary ( ref Vector3  v  )  [protected]

Clamps V to lie inside boundaries.

Definition at line 1502 of file wdxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.ConstrainToBoundary ( ref Vector3  v  )  [protected]

Clamps V to lie inside boundaries.

Definition at line 1509 of file dxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.ConstrainToBoundary ( ref Vector3  v  )  [protected]

Clamps V to lie inside boundaries.

Definition at line 1509 of file dxmutmisc.cs.

abstract void Microsoft.Samples.DirectX.UtilityToolkit.Camera.FrameMove ( float  elapsedTime  )  [pure virtual]

abstract void Microsoft.Samples.DirectX.UtilityToolkit.Camera.FrameMove ( float  elapsedTime  )  [pure virtual]

abstract void Microsoft.Samples.DirectX.UtilityToolkit.Camera.FrameMove ( float  elapsedTime  )  [pure virtual]

virtual bool Microsoft.Samples.DirectX.UtilityToolkit.Camera.HandleMessages ( IntPtr  hWnd,
NativeMethods.WindowMessage  msg,
IntPtr  wParam,
IntPtr  lParam 
) [virtual]

virtual bool Microsoft.Samples.DirectX.UtilityToolkit.Camera.HandleMessages ( IntPtr  hWnd,
NativeMethods.WindowMessage  msg,
IntPtr  wParam,
IntPtr  lParam 
) [virtual]

virtual bool Microsoft.Samples.DirectX.UtilityToolkit.Camera.HandleMessages ( IntPtr  hWnd,
NativeMethods.WindowMessage  msg,
IntPtr  wParam,
IntPtr  lParam 
) [virtual]

static CameraKeys Microsoft.Samples.DirectX.UtilityToolkit.Camera.MapKey ( IntPtr  param  )  [static, protected]

Maps NativeMethods.WindowMessage.Key* msg to a camera key.

Definition at line 1094 of file wdxmutmisc.cs.

static CameraKeys Microsoft.Samples.DirectX.UtilityToolkit.Camera.MapKey ( IntPtr  param  )  [static, protected]

Maps NativeMethods.WindowMessage.Key* msg to a camera key.

Definition at line 1101 of file dxmutmisc.cs.

static CameraKeys Microsoft.Samples.DirectX.UtilityToolkit.Camera.MapKey ( IntPtr  param  )  [static, protected]

Maps NativeMethods.WindowMessage.Key* msg to a camera key.

Definition at line 1101 of file dxmutmisc.cs.

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.Reset (  )  [virtual]

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.Reset (  )  [virtual]

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.Reset (  )  [virtual]

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetProjectionParameters ( float  fov,
float  aspect,
float  near,
float  far 
) [virtual]

Calculates the projection matrix based on input params.

Definition at line 1382 of file wdxmutmisc.cs.

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetProjectionParameters ( float  fov,
float  aspect,
float  near,
float  far 
) [virtual]

Calculates the projection matrix based on input params.

Definition at line 1389 of file dxmutmisc.cs.

virtual void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetProjectionParameters ( float  fov,
float  aspect,
float  near,
float  far 
) [virtual]

Calculates the projection matrix based on input params.

Definition at line 1389 of file dxmutmisc.cs.

Here is the caller graph for this function:

virtual unsafe void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetViewParameters ( Vector3  eyePt,
Vector3  lookAtPt 
) [virtual]

virtual unsafe void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetViewParameters ( Vector3  eyePt,
Vector3  lookAtPt 
) [virtual]

Client can call this to change the position and direction of camera.

Reimplemented in Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, and Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera.

Definition at line 1365 of file dxmutmisc.cs.

virtual unsafe void Microsoft.Samples.DirectX.UtilityToolkit.Camera.SetViewParameters ( Vector3  eyePt,
Vector3  lookAtPt 
) [virtual]

Client can call this to change the position and direction of camera.

Reimplemented in Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera, and Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCamera.

Definition at line 1365 of file dxmutmisc.cs.

Here is the caller graph for this function:

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateMouseDelta ( float  elapsedTime  )  [protected]

Figure out the mouse delta based on mouse movement.

Definition at line 1396 of file wdxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateMouseDelta ( float  elapsedTime  )  [protected]

Figure out the mouse delta based on mouse movement.

Definition at line 1403 of file dxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateMouseDelta ( float  elapsedTime  )  [protected]

Figure out the mouse delta based on mouse movement.

Definition at line 1403 of file dxmutmisc.cs.

Here is the caller graph for this function:

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateVelocity ( float  elapsedTime  )  [protected]

Figure out the velocity based on keyboard input & drag if any.

Definition at line 1435 of file wdxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateVelocity ( float  elapsedTime  )  [protected]

Figure out the velocity based on keyboard input & drag if any.

Definition at line 1442 of file dxmutmisc.cs.

void Microsoft.Samples.DirectX.UtilityToolkit.Camera.UpdateVelocity ( float  elapsedTime  )  [protected]

Figure out the velocity based on keyboard input & drag if any.

Definition at line 1442 of file dxmutmisc.cs.

Here is the caller graph for this function:


Member Data Documentation

Definition at line 1164 of file dxmutmisc.cs.

Definition at line 1153 of file dxmutmisc.cs.

Definition at line 1152 of file dxmutmisc.cs.

Definition at line 1143 of file dxmutmisc.cs.

Definition at line 1148 of file dxmutmisc.cs.

Definition at line 1149 of file dxmutmisc.cs.

Definition at line 1155 of file dxmutmisc.cs.

Definition at line 1159 of file dxmutmisc.cs.

Definition at line 1150 of file dxmutmisc.cs.

Definition at line 1166 of file dxmutmisc.cs.

Definition at line 1163 of file dxmutmisc.cs.

Definition at line 1146 of file dxmutmisc.cs.

Definition at line 1175 of file dxmutmisc.cs.

Definition at line 1172 of file dxmutmisc.cs.

Definition at line 1173 of file dxmutmisc.cs.

Definition at line 1171 of file dxmutmisc.cs.

Definition at line 1140 of file dxmutmisc.cs.

Definition at line 1141 of file dxmutmisc.cs.

Definition at line 1142 of file dxmutmisc.cs.

Definition at line 1157 of file dxmutmisc.cs.

Definition at line 1179 of file dxmutmisc.cs.

Definition at line 1182 of file dxmutmisc.cs.

Definition at line 1139 of file dxmutmisc.cs.

Definition at line 1151 of file dxmutmisc.cs.

Definition at line 1177 of file dxmutmisc.cs.

Definition at line 1176 of file dxmutmisc.cs.

Definition at line 1145 of file dxmutmisc.cs.

Definition at line 1144 of file dxmutmisc.cs.

Definition at line 1169 of file dxmutmisc.cs.

Definition at line 1165 of file dxmutmisc.cs.

Definition at line 1137 of file dxmutmisc.cs.

Definition at line 1168 of file dxmutmisc.cs.

Definition at line 1161 of file dxmutmisc.cs.

Definition at line 1160 of file dxmutmisc.cs.

static readonly Vector3 Microsoft::Samples::DirectX::UtilityToolkit.Camera::UpDirection = new Vector3(0,1,0) [static]

Definition at line 1183 of file dxmutmisc.cs.

Definition at line 1156 of file dxmutmisc.cs.

Definition at line 1158 of file dxmutmisc.cs.

Definition at line 1136 of file dxmutmisc.cs.


Property Documentation

Vector3 Microsoft::Samples::DirectX::UtilityToolkit.Camera::EyeLocation [get]

Returns the location of the eye.

Definition at line 1200 of file dxmutmisc.cs.

bool Microsoft::Samples::DirectX::UtilityToolkit.Camera::IsBeingDragged [get]

Is the camera being 'dragged' at all?

Definition at line 1188 of file dxmutmisc.cs.

bool Microsoft::Samples::DirectX::UtilityToolkit.Camera::IsMouseLeftButtonDown [get]

Is the left mouse button down.

Definition at line 1190 of file dxmutmisc.cs.

bool Microsoft::Samples::DirectX::UtilityToolkit.Camera::IsMouseMiddleButtonDown [get]

Is the middle mouse button down.

Definition at line 1194 of file dxmutmisc.cs.

bool Microsoft::Samples::DirectX::UtilityToolkit.Camera::IsMouseRightButtonDown [get]

Is the right mouse button down.

Definition at line 1192 of file dxmutmisc.cs.

bool Microsoft::Samples::DirectX::UtilityToolkit.Camera::IsPositionMovementEnabled [get, set]

Is position movement enabled.

Definition at line 1204 of file dxmutmisc.cs.

Vector3 Microsoft::Samples::DirectX::UtilityToolkit.Camera::LookAtPoint [get]

Returns the look at point of the camera.

Definition at line 1202 of file dxmutmisc.cs.

Matrix Microsoft::Samples::DirectX::UtilityToolkit.Camera::ProjectionMatrix [get]

Returns the projection transformation matrix.

Definition at line 1198 of file dxmutmisc.cs.

Matrix Microsoft::Samples::DirectX::UtilityToolkit.Camera::ViewMatrix [get]

Returns the view transformation matrix.

Definition at line 1196 of file dxmutmisc.cs.


The documentation for this class was generated from the following files:

Generated on Thu Jan 8 20:50:53 2009 for DXGfx by  doxygen 1.5.8