Mindshifter.Projection Class Reference

Projection describes a transform from view space to screen space. It encapsulates data for both perspective and orthographic projections, and calculates the necessary projection matrix based on its parameterization and selected projection type. More...

List of all members.

Public Member Functions

 Projection (float fov, float aspect, float near, float far)
 Creates a new instance of Projection with the specified perspective projection values.
 Projection (int width, int height, float near, float far)
 Creates a new instance of Projection with the specified orthographic projection values.
 Projection (int x, int y, int width, int height, float near, float far)
 Creates a new instance of Projection with the specified orthographic projection values.
 Projection (Rectangle rect, float near, float far)
 Creates a new instance of Projection with the specified orthographic projection values.
void SetPerspective (float fov, float aspect, float near, float far)
 Configures perspective projection.
void SetOrthographic (Rectangle rect, float near, float far)
 Configures orthographic projection.

Properties

Matrix Matrix [get]
 Gets the matrix of the projection.
ProjectionType Type [get, set]
 Gets or sets the projection type, either perspective or orthographic.
float FieldOfView [get, set]
 Gets or sets the field of view for perspective projection.
float AspectRatio [get, set]
 Gets or sets the aspect ration for perspective projection.
Rectangle Rectangle [get, set]
 Gets or sets the rectangle for orthographic projection.
int OffsetX [get, set]
 Gets or sets the x offset for orthographic projection.
int OffsetY [get, set]
 Gets or sets the y offset for orthographic projection.
int Width [get, set]
 Gets or sets the width for orthographic projection.
int Height [get, set]
 Gets or sets the height for orthographic projection.
float NearPlaneDistance [get, set]
 Gets or sets the projection's near frustum plane distance.
float FarPlaneDistance [get, set]
 Gets or sets the projection's far frustum plane distance.

Private Member Functions

void BuildMatrix ()

Private Attributes

Matrix mMatrix
ProjectionType mType
float mFieldOfView
float mAspectRatio
Rectangle mRectangle
float mNearPlaneDistance
float mFarPlaneDistance
bool mRequiresUpdate


Detailed Description

Projection describes a transform from view space to screen space. It encapsulates data for both perspective and orthographic projections, and calculates the necessary projection matrix based on its parameterization and selected projection type.

Definition at line 21 of file Projection.cs.


Constructor & Destructor Documentation

Mindshifter.Projection.Projection ( float  fov,
float  aspect,
float  near,
float  far 
)

Creates a new instance of Projection with the specified perspective projection values.

Parameters:
fov The projection's field of view
aspect The projection's aspect ratio
near The projection's near frustum plane distance
far The projection's far frustum plane distance

Definition at line 189 of file Projection.cs.

References Mindshifter.Projection.mAspectRatio, Mindshifter.Projection.mFarPlaneDistance, Mindshifter.Projection.mFieldOfView, Mindshifter.Projection.mNearPlaneDistance, Mindshifter.Projection.mRequiresUpdate, and Mindshifter.Projection.mType.

Mindshifter.Projection.Projection ( int  width,
int  height,
float  near,
float  far 
)

Creates a new instance of Projection with the specified orthographic projection values.

Parameters:
width The width of the projection
height The height of the projection
near The projection's near frustum plane distance
far The projection's far frustum plane distance

Definition at line 209 of file Projection.cs.

Mindshifter.Projection.Projection ( int  x,
int  y,
int  width,
int  height,
float  near,
float  far 
)

Creates a new instance of Projection with the specified orthographic projection values.

Parameters:
x The horizontal offset of the projection
y The vertical offset of the projection
width The width of the projection
height The height of the projection
near The projection's near frustum plane distance
far The projection's far frustum plane distance

Definition at line 225 of file Projection.cs.

References Mindshifter.Projection.mFarPlaneDistance, Mindshifter.Projection.mNearPlaneDistance, Mindshifter.Projection.mRectangle, Mindshifter.Projection.mRequiresUpdate, Mindshifter.Projection.mType, and Mindshifter.Projection.Rectangle.

Mindshifter.Projection.Projection ( Rectangle  rect,
float  near,
float  far 
)

Creates a new instance of Projection with the specified orthographic projection values.

Parameters:
rect The orthograpic projection rectangle
near The projection's near frustum plane distance
far The projection's far frustum plane distance

Definition at line 243 of file Projection.cs.

References Mindshifter.Projection.mFarPlaneDistance, Mindshifter.Projection.mNearPlaneDistance, Mindshifter.Projection.mRectangle, Mindshifter.Projection.mRequiresUpdate, and Mindshifter.Projection.mType.


Member Function Documentation

void Mindshifter.Projection.BuildMatrix (  )  [private]

Definition at line 254 of file Projection.cs.

References Mindshifter.Projection.mAspectRatio, Mindshifter.Projection.Matrix, Mindshifter.Projection.mFarPlaneDistance, Mindshifter.Projection.mFieldOfView, Mindshifter.Projection.mMatrix, Mindshifter.Projection.mNearPlaneDistance, Mindshifter.Projection.mRectangle, Mindshifter.Projection.mRequiresUpdate, and Mindshifter.Projection.mType.

void Mindshifter.Projection.SetPerspective ( float  fov,
float  aspect,
float  near,
float  far 
)

Configures perspective projection.

Parameters:
fov The perspective projection field of view
aspect The perspective projection aspect ratio
near The near frustum plane distance of the projection
far The far frustum plane distance of the projection

Definition at line 283 of file Projection.cs.

References Mindshifter.Projection.mAspectRatio, Mindshifter.Projection.mFarPlaneDistance, Mindshifter.Projection.mFieldOfView, Mindshifter.Projection.mNearPlaneDistance, Mindshifter.Projection.mRequiresUpdate, and Mindshifter.Projection.mType.

void Mindshifter.Projection.SetOrthographic ( Rectangle  rect,
float  near,
float  far 
)

Configures orthographic projection.

Parameters:
rect The orthograpic projection rectangle
near The near frustum plane distance of the projection
far The far frustum plane distance of the projection

Definition at line 301 of file Projection.cs.

References Mindshifter.Projection.mRectangle, Mindshifter.Projection.mRequiresUpdate, and Mindshifter.Projection.mType.


Member Data Documentation

Matrix Mindshifter.Projection.mMatrix [private]

Definition at line 23 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix().

ProjectionType Mindshifter.Projection.mType [private]

Definition at line 25 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), Mindshifter.Projection.SetOrthographic(), and Mindshifter.Projection.SetPerspective().

float Mindshifter.Projection.mFieldOfView [private]

Definition at line 27 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), and Mindshifter.Projection.SetPerspective().

float Mindshifter.Projection.mAspectRatio [private]

Definition at line 28 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), and Mindshifter.Projection.SetPerspective().

Rectangle Mindshifter.Projection.mRectangle [private]

Definition at line 30 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), and Mindshifter.Projection.SetOrthographic().

float Mindshifter.Projection.mNearPlaneDistance [private]

Definition at line 32 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), and Mindshifter.Projection.SetPerspective().

float Mindshifter.Projection.mFarPlaneDistance [private]

Definition at line 33 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), and Mindshifter.Projection.SetPerspective().

bool Mindshifter.Projection.mRequiresUpdate [private]

Definition at line 35 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix(), Mindshifter.Projection.Projection(), Mindshifter.Projection.SetOrthographic(), and Mindshifter.Projection.SetPerspective().


Property Documentation

Matrix Mindshifter.Projection.Matrix [get]

Gets the matrix of the projection.

Definition at line 41 of file Projection.cs.

Referenced by Mindshifter.Projection.BuildMatrix().

ProjectionType Mindshifter.Projection.Type [get, set]

Gets or sets the projection type, either perspective or orthographic.

Definition at line 55 of file Projection.cs.

float Mindshifter.Projection.FieldOfView [get, set]

Gets or sets the field of view for perspective projection.

Definition at line 68 of file Projection.cs.

float Mindshifter.Projection.AspectRatio [get, set]

Gets or sets the aspect ration for perspective projection.

Definition at line 81 of file Projection.cs.

Rectangle Mindshifter.Projection.Rectangle [get, set]

Gets or sets the rectangle for orthographic projection.

Definition at line 94 of file Projection.cs.

Referenced by Mindshifter.Projection.Projection().

int Mindshifter.Projection.OffsetX [get, set]

Gets or sets the x offset for orthographic projection.

Definition at line 107 of file Projection.cs.

int Mindshifter.Projection.OffsetY [get, set]

Gets or sets the y offset for orthographic projection.

Definition at line 120 of file Projection.cs.

int Mindshifter.Projection.Width [get, set]

Gets or sets the width for orthographic projection.

Definition at line 133 of file Projection.cs.

int Mindshifter.Projection.Height [get, set]

Gets or sets the height for orthographic projection.

Definition at line 146 of file Projection.cs.

float Mindshifter.Projection.NearPlaneDistance [get, set]

Gets or sets the projection's near frustum plane distance.

Definition at line 159 of file Projection.cs.

float Mindshifter.Projection.FarPlaneDistance [get, set]

Gets or sets the projection's far frustum plane distance.

Definition at line 172 of file Projection.cs.


The documentation for this class was generated from the following file:
Generated on Mon Mar 31 03:29:21 2008 for Cameras by  doxygen 1.5.1-p1