Shift
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Pages
Shift.Matrix Struct Reference

Represents the right-handed 4x4 floating point matrix, which can store translation, scale and rotation information. More...

Inheritance diagram for Shift.Matrix:

Public Member Functions

 Matrix (float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)
 Constructs a matrix. More...
 
 Matrix (Vector4 row1, Vector4 row2, Vector4 row3, Vector4 row4)
 Constructs a matrix. More...
 
bool Decompose (out Vector3 scale, out Quaternion rotation, out Vector3 translation)
 Decomposes this matrix to translation, rotation and scale elements. Returns true if matrix can be decomposed; false otherwise. More...
 
float Determinant ()
 Returns a determinant of this Matrix. More...
 
bool Equals (Matrix other)
 Compares whether current instance is equal to specified Matrix without any tolerance. More...
 
override bool Equals (object obj)
 Compares whether current instance is equal to specified Object without any tolerance. More...
 
override int GetHashCode ()
 Gets the hash code of this Matrix. More...
 
override string ToString ()
 Returns a String representation of this Matrix in the format: {M11:[M11] M12:[M12] M13:[M13] M14:[M14]} {M21:[M21] M12:[M22] M13:[M23] M14:[M24]} {M31:[M31] M32:[M32] M33:[M33] M34:[M34]} {M41:[M41] M42:[M42] M43:[M43] M44:[M44]} More...
 

Static Public Member Functions

static Matrix Add (Matrix matrix1, Matrix matrix2)
 Creates a new Matrix which contains sum of two matrixes. More...
 
static void Add (ref Matrix matrix1, ref Matrix matrix2, out Matrix result)
 Creates a new Matrix which contains sum of two matrixes. More...
 
static Matrix CreateBillboard (Vector3 objectPosition, Vector3 cameraPosition, Vector3 cameraUpVector, Nullable< Vector3 > cameraForwardVector)
 Creates a new Matrix for spherical billboarding that rotates around specified object position. More...
 
static void CreateBillboard (ref Vector3 objectPosition, ref Vector3 cameraPosition, ref Vector3 cameraUpVector, Vector3?cameraForwardVector, out Matrix result)
 Creates a new Matrix for spherical billboarding that rotates around specified object position. More...
 
static Matrix CreateConstrainedBillboard (Vector3 objectPosition, Vector3 cameraPosition, Vector3 rotateAxis, Nullable< Vector3 > cameraForwardVector, Nullable< Vector3 > objectForwardVector)
 Creates a new Matrix for cylindrical billboarding that rotates around specified axis. More...
 
static void CreateConstrainedBillboard (ref Vector3 objectPosition, ref Vector3 cameraPosition, ref Vector3 rotateAxis, Vector3?cameraForwardVector, Vector3?objectForwardVector, out Matrix result)
 Creates a new Matrix for cylindrical billboarding that rotates around specified axis. More...
 
static Matrix CreateFromAxisAngle (Vector3 axis, float angle)
 Creates a new Matrix which contains the rotation moment around specified axis. More...
 
static void CreateFromAxisAngle (ref Vector3 axis, float angle, out Matrix result)
 Creates a new Matrix which contains the rotation moment around specified axis. More...
 
static Matrix CreateFromQuaternion (Quaternion quaternion)
 Creates a new rotation Matrix from a Quaternion. More...
 
static void CreateFromQuaternion (ref Quaternion quaternion, out Matrix result)
 Creates a new rotation Matrix from a Quaternion. More...
 
static Matrix CreateFromYawPitchRoll (float yaw, float pitch, float roll)
 Creates a new rotation Matrix from the specified yaw, pitch and roll values. More...
 
static void CreateFromYawPitchRoll (float yaw, float pitch, float roll, out Matrix result)
 Creates a new rotation Matrix from the specified yaw, pitch and roll values. More...
 
static Matrix CreateLookAt (Vector3 cameraPosition, Vector3 cameraTarget, Vector3 cameraUpVector)
 Creates a new viewing Matrix. More...
 
static void CreateLookAt (ref Vector3 cameraPosition, ref Vector3 cameraTarget, ref Vector3 cameraUpVector, out Matrix result)
 Creates a new viewing Matrix. More...
 
static Matrix CreateOrthographic (float width, float height, float zNearPlane, float zFarPlane)
 Creates a new projection Matrix for orthographic view. More...
 
static void CreateOrthographic (float width, float height, float zNearPlane, float zFarPlane, out Matrix result)
 Creates a new projection Matrix for orthographic view. More...
 
static Matrix CreateOrthographicOffCenter (float left, float right, float bottom, float top, float zNearPlane, float zFarPlane)
 Creates a new projection Matrix for customized orthographic view. More...
 
static Matrix CreateOrthographicOffCenter (Rectangle viewingVolume, float zNearPlane, float zFarPlane)
 Creates a new projection Matrix for customized orthographic view. More...
 
static void CreateOrthographicOffCenter (float left, float right, float bottom, float top, float zNearPlane, float zFarPlane, out Matrix result)
 Creates a new projection Matrix for customized orthographic view. More...
 
static Matrix CreatePerspective (float width, float height, float nearPlaneDistance, float farPlaneDistance)
 Creates a new projection Matrix for perspective view. More...
 
static void CreatePerspective (float width, float height, float nearPlaneDistance, float farPlaneDistance, out Matrix result)
 Creates a new projection Matrix for perspective view. More...
 
static Matrix CreatePerspectiveFieldOfView (float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance)
 Creates a new projection Matrix for perspective view with field of view. More...
 
static void CreatePerspectiveFieldOfView (float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance, out Matrix result)
 Creates a new projection Matrix for perspective view with field of view. More...
 
static Matrix CreatePerspectiveOffCenter (float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance)
 Creates a new projection Matrix for customized perspective view. More...
 
static Matrix CreatePerspectiveOffCenter (Rectangle viewingVolume, float nearPlaneDistance, float farPlaneDistance)
 Creates a new projection Matrix for customized perspective view. More...
 
static void CreatePerspectiveOffCenter (float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance, out Matrix result)
 Creates a new projection Matrix for customized perspective view. More...
 
static Matrix CreateRotationX (float radians)
 Creates a new rotation Matrix around X axis. More...
 
static void CreateRotationX (float radians, out Matrix result)
 Creates a new rotation Matrix around X axis. More...
 
static Matrix CreateRotationY (float radians)
 Creates a new rotation Matrix around Y axis. More...
 
static void CreateRotationY (float radians, out Matrix result)
 Creates a new rotation Matrix around Y axis. More...
 
static Matrix CreateRotationZ (float radians)
 Creates a new rotation Matrix around Z axis. More...
 
static void CreateRotationZ (float radians, out Matrix result)
 Creates a new rotation Matrix around Z axis. More...
 
static Matrix CreateScale (float scale)
 Creates a new scaling Matrix. More...
 
static void CreateScale (float scale, out Matrix result)
 Creates a new scaling Matrix. More...
 
static Matrix CreateScale (float xScale, float yScale, float zScale)
 Creates a new scaling Matrix. More...
 
static void CreateScale (float xScale, float yScale, float zScale, out Matrix result)
 Creates a new scaling Matrix. More...
 
static Matrix CreateScale (Vector3 scales)
 Creates a new scaling Matrix. More...
 
static void CreateScale (ref Vector3 scales, out Matrix result)
 Creates a new scaling Matrix. More...
 
static Matrix CreateShadow (Vector3 lightDirection, Plane plane)
 Creates a new Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source. More...
 
static void CreateShadow (ref Vector3 lightDirection, ref Plane plane, out Matrix result)
 Creates a new Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source. More...
 
static Matrix CreateTranslation (float xPosition, float yPosition, float zPosition)
 Creates a new translation Matrix. More...
 
static void CreateTranslation (ref Vector3 position, out Matrix result)
 Creates a new translation Matrix. More...
 
static Matrix CreateTranslation (Vector3 position)
 Creates a new translation Matrix. More...
 
static void CreateTranslation (float xPosition, float yPosition, float zPosition, out Matrix result)
 Creates a new translation Matrix. More...
 
static Matrix CreateReflection (Plane value)
 Creates a new reflection Matrix. More...
 
static void CreateReflection (ref Plane value, out Matrix result)
 Creates a new reflection Matrix. More...
 
static Matrix CreateWorld (Vector3 position, Vector3 forward, Vector3 up)
 Creates a new world Matrix. More...
 
static void CreateWorld (ref Vector3 position, ref Vector3 forward, ref Vector3 up, out Matrix result)
 Creates a new world Matrix. More...
 
static Matrix Divide (Matrix matrix1, Matrix matrix2)
 Divides the elements of a Matrix by the elements of another matrix. More...
 
static void Divide (ref Matrix matrix1, ref Matrix matrix2, out Matrix result)
 Divides the elements of a Matrix by the elements of another matrix. More...
 
static Matrix Divide (Matrix matrix1, float divider)
 Divides the elements of a Matrix by a scalar. More...
 
static void Divide (ref Matrix matrix1, float divider, out Matrix result)
 Divides the elements of a Matrix by a scalar. More...
 
static Matrix Invert (Matrix matrix)
 Creates a new Matrix which contains inversion of the specified matrix. More...
 
static void Invert (ref Matrix matrix, out Matrix result)
 Creates a new Matrix which contains inversion of the specified matrix. More...
 
static Matrix Lerp (Matrix matrix1, Matrix matrix2, float amount)
 Creates a new Matrix that contains linear interpolation of the values in specified matrixes. More...
 
static void Lerp (ref Matrix matrix1, ref Matrix matrix2, float amount, out Matrix result)
 Creates a new Matrix that contains linear interpolation of the values in specified matrixes. More...
 
static Matrix Multiply (Matrix matrix1, Matrix matrix2)
 Creates a new Matrix that contains a multiplication of two matrix. More...
 
static void Multiply (ref Matrix matrix1, ref Matrix matrix2, out Matrix result)
 Creates a new Matrix that contains a multiplication of two matrix. More...
 
static Matrix Multiply (Matrix matrix1, float scaleFactor)
 Creates a new Matrix that contains a multiplication of Matrix and a scalar. More...
 
static void Multiply (ref Matrix matrix1, float scaleFactor, out Matrix result)
 Creates a new Matrix that contains a multiplication of Matrix and a scalar. More...
 
static float[] ToFloatArray (Matrix matrix)
 Copy the values of specified Matrix to the float array. More...
 
static Matrix Negate (Matrix matrix)
 Returns a matrix with the all values negated. More...
 
static void Negate (ref Matrix matrix, out Matrix result)
 Returns a matrix with the all values negated. More...
 
static Matrix operator+ (Matrix matrix1, Matrix matrix2)
 Adds two matrixes. More...
 
static Matrix operator/ (Matrix matrix1, Matrix matrix2)
 Divides the elements of a Matrix by the elements of another Matrix. More...
 
static Matrix operator/ (Matrix matrix, float divider)
 Divides the elements of a Matrix by a scalar. More...
 
static bool operator== (Matrix matrix1, Matrix matrix2)
 Compares whether two Matrix instances are equal without any tolerance. More...
 
static bool operator!= (Matrix matrix1, Matrix matrix2)
 Compares whether two Matrix instances are not equal without any tolerance. More...
 
static Matrix operator* (Matrix matrix1, Matrix matrix2)
 Multiplies two matrixes. More...
 
static Matrix operator* (Matrix matrix, float scaleFactor)
 Multiplies the elements of matrix by a scalar. More...
 
static Matrix operator- (Matrix matrix1, Matrix matrix2)
 Subtracts the values of one Matrix from another Matrix. More...
 
static Matrix operator- (Matrix matrix)
 Inverts values in the specified Matrix. More...
 
static Matrix Subtract (Matrix matrix1, Matrix matrix2)
 Creates a new Matrix that contains subtraction of one matrix from another. More...
 
static void Subtract (ref Matrix matrix1, ref Matrix matrix2, out Matrix result)
 Creates a new Matrix that contains subtraction of one matrix from another. More...
 
static Matrix Transpose (Matrix matrix)
 Swap the matrix rows and columns. More...
 
static void Transpose (ref Matrix matrix, out Matrix result)
 Swap the matrix rows and columns. More...
 

Public Attributes

float M11
 A first row and first column value. More...
 
float M12
 A first row and second column value. More...
 
float M13
 A first row and third column value. More...
 
float M14
 A first row and fourth column value. More...
 
float M21
 A second row and first column value. More...
 
float M22
 A second row and second column value. More...
 
float M23
 A second row and third column value. More...
 
float M24
 A second row and fourth column value. More...
 
float M31
 A third row and first column value. More...
 
float M32
 A third row and second column value. More...
 
float M33
 A third row and third column value. More...
 
float M34
 A third row and fourth column value. More...
 
float M41
 A fourth row and first column value. More...
 
float M42
 A fourth row and second column value. More...
 
float M43
 A fourth row and third column value. More...
 
float M44
 A fourth row and fourth column value. More...
 

Static Public Attributes

static readonly int SizeInBytes = System.Runtime.InteropServices.Marshal.SizeOf(new Matrix())
 Defines the size of the Matrix struct in bytes. More...
 

Properties

float this[int index] [get, set]
 
float this[int row, int column] [get, set]
 
Vector3 Backward [get, set]
 The backward vector formed from the third row M31, M32, M33 elements. More...
 
Vector3 Down [get, set]
 The down vector formed from the second row -M21, -M22, -M23 elements. More...
 
Vector3 Forward [get, set]
 The forward vector formed from the third row -M31, -M32, -M33 elements. More...
 
static Matrix Identity [get]
 Returns the identity matrix. More...
 
Vector3 Left [get, set]
 The left vector formed from the first row -M11, -M12, -M13 elements. More...
 
Vector3 Right [get, set]
 The right vector formed from the first row M11, M12, M13 elements. More...
 
Quaternion Rotation [get]
 Rotation stored in this matrix. More...
 
Vector3 Translation [get, set]
 Position stored in this matrix. More...
 
Vector3 Scale [get, set]
 Scale stored in this matrix. More...
 
Vector3 Up [get, set]
 The upper vector formed from the second row M21, M22, M23 elements. More...
 

Detailed Description

Represents the right-handed 4x4 floating point matrix, which can store translation, scale and rotation information.

Definition at line 13 of file Matrix.cs.

Constructor & Destructor Documentation

Shift.Matrix.Matrix ( float  m11,
float  m12,
float  m13,
float  m14,
float  m21,
float  m22,
float  m23,
float  m24,
float  m31,
float  m32,
float  m33,
float  m34,
float  m41,
float  m42,
float  m43,
float  m44 
)
inline

Constructs a matrix.

Parameters
m11A first row and first column value.
m12A first row and second column value.
m13A first row and third column value.
m14A first row and fourth column value.
m21A second row and first column value.
m22A second row and second column value.
m23A second row and third column value.
m24A second row and fourth column value.
m31A third row and first column value.
m32A third row and second column value.
m33A third row and third column value.
m34A third row and fourth column value.
m41A fourth row and first column value.
m42A fourth row and second column value.
m43A fourth row and third column value.
m44A fourth row and fourth column value.

Definition at line 39 of file Matrix.cs.

Shift.Matrix.Matrix ( Vector4  row1,
Vector4  row2,
Vector4  row3,
Vector4  row4 
)
inline

Constructs a matrix.

Parameters
row1A first row of the created matrix.
row2A second row of the created matrix.
row3A third row of the created matrix.
row4A fourth row of the created matrix.

Definition at line 67 of file Matrix.cs.

Member Function Documentation

static Matrix Shift.Matrix.Add ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Creates a new Matrix which contains sum of two matrixes.

Parameters
matrix1The first matrix to add.
matrix2The second matrix to add.
Returns
The result of the matrix addition.

Definition at line 413 of file Matrix.cs.

static void Shift.Matrix.Add ( ref Matrix  matrix1,
ref Matrix  matrix2,
out Matrix  result 
)
inlinestatic

Creates a new Matrix which contains sum of two matrixes.

Parameters
matrix1The first matrix to add.
matrix2The second matrix to add.
resultThe result of the matrix addition as an output parameter.

Definition at line 440 of file Matrix.cs.

static Matrix Shift.Matrix.CreateBillboard ( Vector3  objectPosition,
Vector3  cameraPosition,
Vector3  cameraUpVector,
Nullable< Vector3 cameraForwardVector 
)
inlinestatic

Creates a new Matrix for spherical billboarding that rotates around specified object position.

Parameters
objectPositionPosition of billboard object. It will rotate around that vector.
cameraPositionThe camera position.
cameraUpVectorThe camera up vector.
cameraForwardVectorOptional camera forward vector.
Returns
The Matrix for spherical billboarding.

Definition at line 469 of file Matrix.cs.

static void Shift.Matrix.CreateBillboard ( ref Vector3  objectPosition,
ref Vector3  cameraPosition,
ref Vector3  cameraUpVector,
Vector3 cameraForwardVector,
out Matrix  result 
)
inlinestatic

Creates a new Matrix for spherical billboarding that rotates around specified object position.

Parameters
objectPositionPosition of billboard object. It will rotate around that vector.
cameraPositionThe camera position.
cameraUpVectorThe camera up vector.
cameraForwardVectorOptional camera forward vector.
resultThe Matrix for spherical billboarding as an output parameter.

Definition at line 488 of file Matrix.cs.

static Matrix Shift.Matrix.CreateConstrainedBillboard ( Vector3  objectPosition,
Vector3  cameraPosition,
Vector3  rotateAxis,
Nullable< Vector3 cameraForwardVector,
Nullable< Vector3 objectForwardVector 
)
inlinestatic

Creates a new Matrix for cylindrical billboarding that rotates around specified axis.

Parameters
objectPositionObject position the billboard will rotate around.
cameraPositionCamera position.
rotateAxisAxis of billboard for rotation.
cameraForwardVectorOptional camera forward vector.
objectForwardVectorOptional object forward vector.
Returns
The Matrix for cylindrical billboarding.

Definition at line 536 of file Matrix.cs.

static void Shift.Matrix.CreateConstrainedBillboard ( ref Vector3  objectPosition,
ref Vector3  cameraPosition,
ref Vector3  rotateAxis,
Vector3 cameraForwardVector,
Vector3 objectForwardVector,
out Matrix  result 
)
inlinestatic

Creates a new Matrix for cylindrical billboarding that rotates around specified axis.

Parameters
objectPositionObject position the billboard will rotate around.
cameraPositionCamera position.
rotateAxisAxis of billboard for rotation.
cameraForwardVectorOptional camera forward vector.
objectForwardVectorOptional object forward vector.
resultThe Matrix for cylindrical billboarding as an output parameter.

Definition at line 554 of file Matrix.cs.

static Matrix Shift.Matrix.CreateFromAxisAngle ( Vector3  axis,
float  angle 
)
inlinestatic

Creates a new Matrix which contains the rotation moment around specified axis.

Parameters
axisThe axis of rotation.
angleThe angle of rotation in radians.
Returns
The rotation Matrix.

Definition at line 629 of file Matrix.cs.

static void Shift.Matrix.CreateFromAxisAngle ( ref Vector3  axis,
float  angle,
out Matrix  result 
)
inlinestatic

Creates a new Matrix which contains the rotation moment around specified axis.

Parameters
axisThe axis of rotation.
angleThe angle of rotation in radians.
resultThe rotation Matrix as an output parameter.

Definition at line 642 of file Matrix.cs.

static Matrix Shift.Matrix.CreateFromQuaternion ( Quaternion  quaternion)
inlinestatic

Creates a new rotation Matrix from a Quaternion.

Parameters
quaternionQuaternion of rotation moment.
Returns
The rotation Matrix.

Definition at line 678 of file Matrix.cs.

static void Shift.Matrix.CreateFromQuaternion ( ref Quaternion  quaternion,
out Matrix  result 
)
inlinestatic

Creates a new rotation Matrix from a Quaternion.

Parameters
quaternionQuaternion of rotation moment.
resultThe rotation Matrix as an output parameter.

Definition at line 690 of file Matrix.cs.

static Matrix Shift.Matrix.CreateFromYawPitchRoll ( float  yaw,
float  pitch,
float  roll 
)
inlinestatic

Creates a new rotation Matrix from the specified yaw, pitch and roll values.

Parameters
yawThe yaw rotation value in radians.
pitchThe pitch rotation value in radians.
rollThe roll rotation value in radians.
Returns
The rotation Matrix.

For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles.

Definition at line 728 of file Matrix.cs.

static void Shift.Matrix.CreateFromYawPitchRoll ( float  yaw,
float  pitch,
float  roll,
out Matrix  result 
)
inlinestatic

Creates a new rotation Matrix from the specified yaw, pitch and roll values.

Parameters
yawThe yaw rotation value in radians.
pitchThe pitch rotation value in radians.
rollThe roll rotation value in radians.
resultThe rotation Matrix as an output parameter.

For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles.

Definition at line 744 of file Matrix.cs.

static Matrix Shift.Matrix.CreateLookAt ( Vector3  cameraPosition,
Vector3  cameraTarget,
Vector3  cameraUpVector 
)
inlinestatic

Creates a new viewing Matrix.

Parameters
cameraPositionPosition of the camera.
cameraTargetLookup vector of the camera.
cameraUpVectorThe direction of the upper edge of the camera.
Returns
The viewing Matrix.

Definition at line 758 of file Matrix.cs.

static void Shift.Matrix.CreateLookAt ( ref Vector3  cameraPosition,
ref Vector3  cameraTarget,
ref Vector3  cameraUpVector,
out Matrix  result 
)
inlinestatic

Creates a new viewing Matrix.

Parameters
cameraPositionPosition of the camera.
cameraTargetLookup vector of the camera.
cameraUpVectorThe direction of the upper edge of the camera.
resultThe viewing Matrix as an output parameter.

Definition at line 772 of file Matrix.cs.

static Matrix Shift.Matrix.CreateOrthographic ( float  width,
float  height,
float  zNearPlane,
float  zFarPlane 
)
inlinestatic

Creates a new projection Matrix for orthographic view.

Parameters
widthWidth of the viewing volume.
heightHeight of the viewing volume.
zNearPlaneDepth of the near plane.
zFarPlaneDepth of the far plane.
Returns
The new projection Matrix for orthographic view.

Definition at line 803 of file Matrix.cs.

static void Shift.Matrix.CreateOrthographic ( float  width,
float  height,
float  zNearPlane,
float  zFarPlane,
out Matrix  result 
)
inlinestatic

Creates a new projection Matrix for orthographic view.

Parameters
widthWidth of the viewing volume.
heightHeight of the viewing volume.
zNearPlaneDepth of the near plane.
zFarPlaneDepth of the far plane.
resultThe new projection Matrix for orthographic view as an output parameter.

Definition at line 818 of file Matrix.cs.

static Matrix Shift.Matrix.CreateOrthographicOffCenter ( float  left,
float  right,
float  bottom,
float  top,
float  zNearPlane,
float  zFarPlane 
)
inlinestatic

Creates a new projection Matrix for customized orthographic view.

Parameters
leftLower x-value at the near plane.
rightUpper x-value at the near plane.
bottomLower y-coordinate at the near plane.
topUpper y-value at the near plane.
zNearPlaneDepth of the near plane.
zFarPlaneDepth of the far plane.
Returns
The new projection Matrix for customized orthographic view.

Definition at line 841 of file Matrix.cs.

static Matrix Shift.Matrix.CreateOrthographicOffCenter ( Rectangle  viewingVolume,
float  zNearPlane,
float  zFarPlane 
)
inlinestatic

Creates a new projection Matrix for customized orthographic view.

Parameters
viewingVolumeThe viewing volume.
zNearPlaneDepth of the near plane.
zFarPlaneDepth of the far plane.
Returns
The new projection Matrix for customized orthographic view.

Definition at line 855 of file Matrix.cs.

static void Shift.Matrix.CreateOrthographicOffCenter ( float  left,
float  right,
float  bottom,
float  top,
float  zNearPlane,
float  zFarPlane,
out Matrix  result 
)
inlinestatic

Creates a new projection Matrix for customized orthographic view.

Parameters
leftLower x-value at the near plane.
rightUpper x-value at the near plane.
bottomLower y-coordinate at the near plane.
topUpper y-value at the near plane.
zNearPlaneDepth of the near plane.
zFarPlaneDepth of the far plane.
resultThe new projection Matrix for customized orthographic view as an output parameter.

Definition at line 872 of file Matrix.cs.

static Matrix Shift.Matrix.CreatePerspective ( float  width,
float  height,
float  nearPlaneDistance,
float  farPlaneDistance 
)
inlinestatic

Creates a new projection Matrix for perspective view.

Parameters
widthWidth of the viewing volume.
heightHeight of the viewing volume.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
Returns
The new projection Matrix for perspective view.

Definition at line 900 of file Matrix.cs.

static void Shift.Matrix.CreatePerspective ( float  width,
float  height,
float  nearPlaneDistance,
float  farPlaneDistance,
out Matrix  result 
)
inlinestatic

Creates a new projection Matrix for perspective view.

Parameters
widthWidth of the viewing volume.
heightHeight of the viewing volume.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
resultThe new projection Matrix for perspective view as an output parameter.

Definition at line 915 of file Matrix.cs.

static Matrix Shift.Matrix.CreatePerspectiveFieldOfView ( float  fieldOfView,
float  aspectRatio,
float  nearPlaneDistance,
float  farPlaneDistance 
)
inlinestatic

Creates a new projection Matrix for perspective view with field of view.

Parameters
fieldOfViewField of view in the y direction in radians.
aspectRatioWidth divided by height of the viewing volume.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
Returns
The new projection Matrix for perspective view with FOV.

Definition at line 948 of file Matrix.cs.

static void Shift.Matrix.CreatePerspectiveFieldOfView ( float  fieldOfView,
float  aspectRatio,
float  nearPlaneDistance,
float  farPlaneDistance,
out Matrix  result 
)
inlinestatic

Creates a new projection Matrix for perspective view with field of view.

Parameters
fieldOfViewField of view in the y direction in radians.
aspectRatioWidth divided by height of the viewing volume.
nearPlaneDistanceDistance of the near plane.
farPlaneDistanceDistance of the far plane.
resultThe new projection Matrix for perspective view with FOV as an output parameter.

Definition at line 963 of file Matrix.cs.

static Matrix Shift.Matrix.CreatePerspectiveOffCenter ( float  left,
float  right,
float  bottom,
float  top,
float  nearPlaneDistance,
float  farPlaneDistance 
)
inlinestatic

Creates a new projection Matrix for customized perspective view.

Parameters
leftLower x-value at the near plane.
rightUpper x-value at the near plane.
bottomLower y-coordinate at the near plane.
topUpper y-value at the near plane.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
Returns
The new Matrix for customized perspective view.

Definition at line 1004 of file Matrix.cs.

static Matrix Shift.Matrix.CreatePerspectiveOffCenter ( Rectangle  viewingVolume,
float  nearPlaneDistance,
float  farPlaneDistance 
)
inlinestatic

Creates a new projection Matrix for customized perspective view.

Parameters
viewingVolumeThe viewing volume.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
Returns
The new Matrix for customized perspective view.

Definition at line 1017 of file Matrix.cs.

static void Shift.Matrix.CreatePerspectiveOffCenter ( float  left,
float  right,
float  bottom,
float  top,
float  nearPlaneDistance,
float  farPlaneDistance,
out Matrix  result 
)
inlinestatic

Creates a new projection Matrix for customized perspective view.

Parameters
leftLower x-value at the near plane.
rightUpper x-value at the near plane.
bottomLower y-coordinate at the near plane.
topUpper y-value at the near plane.
nearPlaneDistanceDistance to the near plane.
farPlaneDistanceDistance to the far plane.
resultThe new Matrix for customized perspective view as an output parameter.

Definition at line 1034 of file Matrix.cs.

static Matrix Shift.Matrix.CreateReflection ( Plane  value)
inlinestatic

Creates a new reflection Matrix.

Parameters
valueThe plane that used for reflection calculation.
Returns
The reflection Matrix.

Definition at line 1380 of file Matrix.cs.

static void Shift.Matrix.CreateReflection ( ref Plane  value,
out Matrix  result 
)
inlinestatic

Creates a new reflection Matrix.

Parameters
valueThe plane that used for reflection calculation.
resultThe reflection Matrix as an output parameter.

Definition at line 1392 of file Matrix.cs.

static Matrix Shift.Matrix.CreateRotationX ( float  radians)
inlinestatic

Creates a new rotation Matrix around X axis.

Parameters
radiansAngle in radians.
Returns
The rotation Matrix around X axis.

Definition at line 1065 of file Matrix.cs.

static void Shift.Matrix.CreateRotationX ( float  radians,
out Matrix  result 
)
inlinestatic

Creates a new rotation Matrix around X axis.

Parameters
radiansAngle in radians.
resultThe rotation Matrix around X axis as an output parameter.

Definition at line 1077 of file Matrix.cs.

static Matrix Shift.Matrix.CreateRotationY ( float  radians)
inlinestatic

Creates a new rotation Matrix around Y axis.

Parameters
radiansAngle in radians.
Returns
The rotation Matrix around Y axis.

Definition at line 1095 of file Matrix.cs.

static void Shift.Matrix.CreateRotationY ( float  radians,
out Matrix  result 
)
inlinestatic

Creates a new rotation Matrix around Y axis.

Parameters
radiansAngle in radians.
resultThe rotation Matrix around Y axis as an output parameter.

Definition at line 1107 of file Matrix.cs.

static Matrix Shift.Matrix.CreateRotationZ ( float  radians)
inlinestatic

Creates a new rotation Matrix around Z axis.

Parameters
radiansAngle in radians.
Returns
The rotation Matrix around Z axis.

Definition at line 1125 of file Matrix.cs.

static void Shift.Matrix.CreateRotationZ ( float  radians,
out Matrix  result 
)
inlinestatic

Creates a new rotation Matrix around Z axis.

Parameters
radiansAngle in radians.
resultThe rotation Matrix around Z axis as an output parameter.

Definition at line 1137 of file Matrix.cs.

static Matrix Shift.Matrix.CreateScale ( float  scale)
inlinestatic

Creates a new scaling Matrix.

Parameters
scaleScale value for all three axises.
Returns
The scaling Matrix.

Definition at line 1155 of file Matrix.cs.

static void Shift.Matrix.CreateScale ( float  scale,
out Matrix  result 
)
inlinestatic

Creates a new scaling Matrix.

Parameters
scaleScale value for all three axises.
resultThe scaling Matrix as an output parameter.

Definition at line 1167 of file Matrix.cs.

static Matrix Shift.Matrix.CreateScale ( float  xScale,
float  yScale,
float  zScale 
)
inlinestatic

Creates a new scaling Matrix.

Parameters
xScaleScale value for X axis.
yScaleScale value for Y axis.
zScaleScale value for Z axis.
Returns
The scaling Matrix.

Definition at line 1179 of file Matrix.cs.

static void Shift.Matrix.CreateScale ( float  xScale,
float  yScale,
float  zScale,
out Matrix  result 
)
inlinestatic

Creates a new scaling Matrix.

Parameters
xScaleScale value for X axis.
yScaleScale value for Y axis.
zScaleScale value for Z axis.
resultThe scaling Matrix as an output parameter.

Definition at line 1193 of file Matrix.cs.

static Matrix Shift.Matrix.CreateScale ( Vector3  scales)
inlinestatic

Creates a new scaling Matrix.

Parameters
scalesVector3 representing x,y and z scale values.
Returns
The scaling Matrix.

Definition at line 1218 of file Matrix.cs.

static void Shift.Matrix.CreateScale ( ref Vector3  scales,
out Matrix  result 
)
inlinestatic

Creates a new scaling Matrix.

Parameters
scalesVector3 representing x,y and z scale values.
resultThe scaling Matrix as an output parameter.

Definition at line 1230 of file Matrix.cs.

static Matrix Shift.Matrix.CreateShadow ( Vector3  lightDirection,
Plane  plane 
)
inlinestatic

Creates a new Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.

Parameters
lightDirectionA vector specifying the direction from which the light that will cast the shadow is coming.
planeThe plane onto which the new matrix should flatten geometry so as to cast a shadow.
Returns
A Matrix that can be used to flatten geometry onto the specified plane from the specified direction.

Definition at line 1257 of file Matrix.cs.

static void Shift.Matrix.CreateShadow ( ref Vector3  lightDirection,
ref Plane  plane,
out Matrix  result 
)
inlinestatic

Creates a new Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source.

Parameters
lightDirectionA vector specifying the direction from which the light that will cast the shadow is coming.
planeThe plane onto which the new matrix should flatten geometry so as to cast a shadow.
resultA Matrix that can be used to flatten geometry onto the specified plane from the specified direction as an output parameter.

Definition at line 1271 of file Matrix.cs.

static Matrix Shift.Matrix.CreateTranslation ( float  xPosition,
float  yPosition,
float  zPosition 
)
inlinestatic

Creates a new translation Matrix.

Parameters
xPositionX coordinate of translation.
yPositionY coordinate of translation.
zPositionZ coordinate of translation.
Returns
The translation Matrix.

Definition at line 1304 of file Matrix.cs.

static void Shift.Matrix.CreateTranslation ( ref Vector3  position,
out Matrix  result 
)
inlinestatic

Creates a new translation Matrix.

Parameters
positionX,Y and Z coordinates of translation.
resultThe translation Matrix as an output parameter.

Definition at line 1316 of file Matrix.cs.

static Matrix Shift.Matrix.CreateTranslation ( Vector3  position)
inlinestatic

Creates a new translation Matrix.

Parameters
positionX,Y and Z coordinates of translation.
Returns
The translation Matrix.

Definition at line 1341 of file Matrix.cs.

static void Shift.Matrix.CreateTranslation ( float  xPosition,
float  yPosition,
float  zPosition,
out Matrix  result 
)
inlinestatic

Creates a new translation Matrix.

Parameters
xPositionX coordinate of translation.
yPositionY coordinate of translation.
zPositionZ coordinate of translation.
resultThe translation Matrix as an output parameter.

Definition at line 1355 of file Matrix.cs.

static Matrix Shift.Matrix.CreateWorld ( Vector3  position,
Vector3  forward,
Vector3  up 
)
inlinestatic

Creates a new world Matrix.

Parameters
positionThe position vector.
forwardThe forward direction vector.
upThe upward direction vector. Usually Vector3.Up.
Returns
The world Matrix.

Definition at line 1428 of file Matrix.cs.

static void Shift.Matrix.CreateWorld ( ref Vector3  position,
ref Vector3  forward,
ref Vector3  up,
out Matrix  result 
)
inlinestatic

Creates a new world Matrix.

Parameters
positionThe position vector.
forwardThe forward direction vector.
upThe upward direction vector. Usually Vector3.Up.
resultThe world Matrix as an output parameter.

Definition at line 1442 of file Matrix.cs.

bool Shift.Matrix.Decompose ( out Vector3  scale,
out Quaternion  rotation,
out Vector3  translation 
)
inline

Decomposes this matrix to translation, rotation and scale elements. Returns true if matrix can be decomposed; false otherwise.

Parameters
scaleScale vector as an output parameter.
rotationRotation quaternion as an output parameter.
translationTranslation vector as an output parameter.
Returns
true if matrix can be decomposed; false otherwise.

Definition at line 1466 of file Matrix.cs.

float Shift.Matrix.Determinant ( )
inline

Returns a determinant of this Matrix.

Returns
Determinant of this Matrix

See more about determinant here - http://en.wikipedia.org/wiki/Determinant.

Definition at line 1501 of file Matrix.cs.

static Matrix Shift.Matrix.Divide ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Divides the elements of a Matrix by the elements of another matrix.

Parameters
matrix1Source Matrix.
matrix2Divisor Matrix.
Returns
The result of dividing the matrix.

Definition at line 1534 of file Matrix.cs.

static void Shift.Matrix.Divide ( ref Matrix  matrix1,
ref Matrix  matrix2,
out Matrix  result 
)
inlinestatic

Divides the elements of a Matrix by the elements of another matrix.

Parameters
matrix1Source Matrix.
matrix2Divisor Matrix.
resultThe result of dividing the matrix as an output parameter.

Definition at line 1561 of file Matrix.cs.

static Matrix Shift.Matrix.Divide ( Matrix  matrix1,
float  divider 
)
inlinestatic

Divides the elements of a Matrix by a scalar.

Parameters
matrix1Source Matrix.
dividerDivisor scalar.
Returns
The result of dividing a matrix by a scalar.

Definition at line 1587 of file Matrix.cs.

static void Shift.Matrix.Divide ( ref Matrix  matrix1,
float  divider,
out Matrix  result 
)
inlinestatic

Divides the elements of a Matrix by a scalar.

Parameters
matrix1Source Matrix.
dividerDivisor scalar.
resultThe result of dividing a matrix by a scalar as an output parameter.

Definition at line 1615 of file Matrix.cs.

bool Shift.Matrix.Equals ( Matrix  other)
inline

Compares whether current instance is equal to specified Matrix without any tolerance.

Parameters
otherThe Matrix to compare.
Returns
true if the instances are equal; false otherwise.

Definition at line 1641 of file Matrix.cs.

override bool Shift.Matrix.Equals ( object  obj)
inline

Compares whether current instance is equal to specified Object without any tolerance.

Parameters
objThe Object to compare.
Returns
true if the instances are equal; false otherwise.

Definition at line 1651 of file Matrix.cs.

override int Shift.Matrix.GetHashCode ( )
inline

Gets the hash code of this Matrix.

Returns
Hash code of this Matrix.

Definition at line 1665 of file Matrix.cs.

static Matrix Shift.Matrix.Invert ( Matrix  matrix)
inlinestatic

Creates a new Matrix which contains inversion of the specified matrix.

Parameters
matrixSource Matrix.
Returns
The inverted matrix.

Definition at line 1675 of file Matrix.cs.

static void Shift.Matrix.Invert ( ref Matrix  matrix,
out Matrix  result 
)
inlinestatic

Creates a new Matrix which contains inversion of the specified matrix.

Parameters
matrixSource Matrix.
resultThe inverted matrix as output parameter.

Definition at line 1687 of file Matrix.cs.

static Matrix Shift.Matrix.Lerp ( Matrix  matrix1,
Matrix  matrix2,
float  amount 
)
inlinestatic

Creates a new Matrix that contains linear interpolation of the values in specified matrixes.

Parameters
matrix1The first Matrix.
matrix2The second Vector2.
amountWeighting value(between 0.0 and 1.0).
Returns
>The result of linear interpolation of the specified matrixes.

Definition at line 1794 of file Matrix.cs.

static void Shift.Matrix.Lerp ( ref Matrix  matrix1,
ref Matrix  matrix2,
float  amount,
out Matrix  result 
)
inlinestatic

Creates a new Matrix that contains linear interpolation of the values in specified matrixes.

Parameters
matrix1The first Matrix.
matrix2The second Vector2.
amountWeighting value(between 0.0 and 1.0).
resultThe result of linear interpolation of the specified matrixes as an output parameter.

Definition at line 1822 of file Matrix.cs.

static Matrix Shift.Matrix.Multiply ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Creates a new Matrix that contains a multiplication of two matrix.

Parameters
matrix1Source Matrix.
matrix2Source Matrix.
Returns
Result of the matrix multiplication.

Definition at line 1848 of file Matrix.cs.

static void Shift.Matrix.Multiply ( ref Matrix  matrix1,
ref Matrix  matrix2,
out Matrix  result 
)
inlinestatic

Creates a new Matrix that contains a multiplication of two matrix.

Parameters
matrix1Source Matrix.
matrix2Source Matrix.
resultResult of the matrix multiplication as an output parameter.

Definition at line 1891 of file Matrix.cs.

static Matrix Shift.Matrix.Multiply ( Matrix  matrix1,
float  scaleFactor 
)
inlinestatic

Creates a new Matrix that contains a multiplication of Matrix and a scalar.

Parameters
matrix1Source Matrix.
scaleFactorScalar value.
Returns
Result of the matrix multiplication with a scalar.

Definition at line 1933 of file Matrix.cs.

static void Shift.Matrix.Multiply ( ref Matrix  matrix1,
float  scaleFactor,
out Matrix  result 
)
inlinestatic

Creates a new Matrix that contains a multiplication of Matrix and a scalar.

Parameters
matrix1Source Matrix.
scaleFactorScalar value.
resultResult of the matrix multiplication with a scalar as an output parameter.

Definition at line 1960 of file Matrix.cs.

static Matrix Shift.Matrix.Negate ( Matrix  matrix)
inlinestatic

Returns a matrix with the all values negated.

Parameters
matrixSource Matrix.
Returns
Result of the matrix negation.

Definition at line 2005 of file Matrix.cs.

static void Shift.Matrix.Negate ( ref Matrix  matrix,
out Matrix  result 
)
inlinestatic

Returns a matrix with the all values negated.

Parameters
matrixSource Matrix.
resultResult of the matrix negation as an output parameter.

Definition at line 2031 of file Matrix.cs.

static bool Shift.Matrix.operator!= ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Compares whether two Matrix instances are not equal without any tolerance.

Parameters
matrix1Source Matrix on the left of the not equal sign.
matrix2Source Matrix on the right of the not equal sign.
Returns
true if the instances are not equal; false otherwise.

Definition at line 2167 of file Matrix.cs.

static Matrix Shift.Matrix.operator* ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Multiplies two matrixes.

Parameters
matrix1Source Matrix on the left of the mul sign.
matrix2Source Matrix on the right of the mul sign.
Returns
Result of the matrix multiplication.

Using matrix multiplication algorithm - see http://en.wikipedia.org/wiki/Matrix_multiplication.

Definition at line 2198 of file Matrix.cs.

static Matrix Shift.Matrix.operator* ( Matrix  matrix,
float  scaleFactor 
)
inlinestatic

Multiplies the elements of matrix by a scalar.

Parameters
matrixSource Matrix on the left of the mul sign.
scaleFactorScalar value on the right of the mul sign.
Returns
Result of the matrix multiplication with a scalar.

Definition at line 2241 of file Matrix.cs.

static Matrix Shift.Matrix.operator+ ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Adds two matrixes.

Parameters
matrix1Source Matrix on the left of the add sign.
matrix2Source Matrix on the right of the add sign.
Returns
Sum of the matrixes.

Definition at line 2057 of file Matrix.cs.

static Matrix Shift.Matrix.operator- ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Subtracts the values of one Matrix from another Matrix.

Parameters
matrix1Source Matrix on the left of the sub sign.
matrix2Source Matrix on the right of the sub sign.
Returns
Result of the matrix subtraction.

Definition at line 2268 of file Matrix.cs.

static Matrix Shift.Matrix.operator- ( Matrix  matrix)
inlinestatic

Inverts values in the specified Matrix.

Parameters
matrixSource Matrix on the right of the sub sign.
Returns
Result of the inversion.

Definition at line 2294 of file Matrix.cs.

static Matrix Shift.Matrix.operator/ ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Divides the elements of a Matrix by the elements of another Matrix.

Parameters
matrix1Source Matrix on the left of the div sign.
matrix2Divisor Matrix on the right of the div sign.
Returns
The result of dividing the matrixes.

Definition at line 2084 of file Matrix.cs.

static Matrix Shift.Matrix.operator/ ( Matrix  matrix,
float  divider 
)
inlinestatic

Divides the elements of a Matrix by a scalar.

Parameters
matrixSource Matrix on the left of the div sign.
dividerDivisor scalar on the right of the div sign.
Returns
The result of dividing a matrix by a scalar.

Definition at line 2111 of file Matrix.cs.

static bool Shift.Matrix.operator== ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Compares whether two Matrix instances are equal without any tolerance.

Parameters
matrix1Source Matrix on the left of the equal sign.
matrix2Source Matrix on the right of the equal sign.
Returns
true if the instances are equal; false otherwise.

Definition at line 2139 of file Matrix.cs.

static Matrix Shift.Matrix.Subtract ( Matrix  matrix1,
Matrix  matrix2 
)
inlinestatic

Creates a new Matrix that contains subtraction of one matrix from another.

Parameters
matrix1The first Matrix.
matrix2The second Matrix.
Returns
The result of the matrix subtraction.

Definition at line 2321 of file Matrix.cs.

static void Shift.Matrix.Subtract ( ref Matrix  matrix1,
ref Matrix  matrix2,
out Matrix  result 
)
inlinestatic

Creates a new Matrix that contains subtraction of one matrix from another.

Parameters
matrix1The first Matrix.
matrix2The second Matrix.
resultThe result of the matrix subtraction as an output parameter.

Definition at line 2348 of file Matrix.cs.

static float [] Shift.Matrix.ToFloatArray ( Matrix  matrix)
inlinestatic

Copy the values of specified Matrix to the float array.

Parameters
matrixThe source Matrix.
Returns
The array which matrix values will be stored.

Required for OpenGL 2.0 projection matrix stuff.

Definition at line 1989 of file Matrix.cs.

override string Shift.Matrix.ToString ( )
inline

Returns a String representation of this Matrix in the format: {M11:[M11] M12:[M12] M13:[M13] M14:[M14]} {M21:[M21] M12:[M22] M13:[M23] M14:[M24]} {M31:[M31] M32:[M32] M33:[M33] M34:[M34]} {M41:[M41] M42:[M42] M43:[M43] M44:[M44]}

Returns
A String representation of this Matrix.

Definition at line 2393 of file Matrix.cs.

static Matrix Shift.Matrix.Transpose ( Matrix  matrix)
inlinestatic

Swap the matrix rows and columns.

Parameters
matrixThe matrix for transposing operation.
Returns
The new Matrix which contains the transposing result.

Definition at line 2406 of file Matrix.cs.

static void Shift.Matrix.Transpose ( ref Matrix  matrix,
out Matrix  result 
)
inlinestatic

Swap the matrix rows and columns.

Parameters
matrixThe matrix for transposing operation.
resultThe new Matrix which contains the transposing result as an output parameter.

Definition at line 2418 of file Matrix.cs.

Member Data Documentation

float Shift.Matrix.M11

A first row and first column value.

Definition at line 91 of file Matrix.cs.

float Shift.Matrix.M12

A first row and second column value.

Definition at line 97 of file Matrix.cs.

float Shift.Matrix.M13

A first row and third column value.

Definition at line 103 of file Matrix.cs.

float Shift.Matrix.M14

A first row and fourth column value.

Definition at line 109 of file Matrix.cs.

float Shift.Matrix.M21

A second row and first column value.

Definition at line 115 of file Matrix.cs.

float Shift.Matrix.M22

A second row and second column value.

Definition at line 121 of file Matrix.cs.

float Shift.Matrix.M23

A second row and third column value.

Definition at line 127 of file Matrix.cs.

float Shift.Matrix.M24

A second row and fourth column value.

Definition at line 133 of file Matrix.cs.

float Shift.Matrix.M31

A third row and first column value.

Definition at line 139 of file Matrix.cs.

float Shift.Matrix.M32

A third row and second column value.

Definition at line 145 of file Matrix.cs.

float Shift.Matrix.M33

A third row and third column value.

Definition at line 151 of file Matrix.cs.

float Shift.Matrix.M34

A third row and fourth column value.

Definition at line 157 of file Matrix.cs.

float Shift.Matrix.M41

A fourth row and first column value.

Definition at line 163 of file Matrix.cs.

float Shift.Matrix.M42

A fourth row and second column value.

Definition at line 169 of file Matrix.cs.

float Shift.Matrix.M43

A fourth row and third column value.

Definition at line 175 of file Matrix.cs.

float Shift.Matrix.M44

A fourth row and fourth column value.

Definition at line 181 of file Matrix.cs.

readonly int Shift.Matrix.SizeInBytes = System.Runtime.InteropServices.Marshal.SizeOf(new Matrix())
static

Defines the size of the Matrix struct in bytes.

Definition at line 18 of file Matrix.cs.

Property Documentation

Vector3 Shift.Matrix.Backward
getset

The backward vector formed from the third row M31, M32, M33 elements.

Definition at line 256 of file Matrix.cs.

Vector3 Shift.Matrix.Down
getset

The down vector formed from the second row -M21, -M22, -M23 elements.

Definition at line 273 of file Matrix.cs.

Vector3 Shift.Matrix.Forward
getset

The forward vector formed from the third row -M31, -M32, -M33 elements.

Definition at line 290 of file Matrix.cs.

Matrix Shift.Matrix.Identity
staticget

Returns the identity matrix.

Definition at line 307 of file Matrix.cs.

Vector3 Shift.Matrix.Left
getset

The left vector formed from the first row -M11, -M12, -M13 elements.

Definition at line 315 of file Matrix.cs.

Vector3 Shift.Matrix.Right
getset

The right vector formed from the first row M11, M12, M13 elements.

Definition at line 332 of file Matrix.cs.

Quaternion Shift.Matrix.Rotation
get

Rotation stored in this matrix.

Definition at line 349 of file Matrix.cs.

Vector3 Shift.Matrix.Scale
getset

Scale stored in this matrix.

Definition at line 377 of file Matrix.cs.

float Shift.Matrix.this[int index]
getset

Definition at line 184 of file Matrix.cs.

float Shift.Matrix.this[int row, int column]
getset

Definition at line 235 of file Matrix.cs.

Vector3 Shift.Matrix.Translation
getset

Position stored in this matrix.

Definition at line 360 of file Matrix.cs.

Vector3 Shift.Matrix.Up
getset

The upper vector formed from the second row M21, M22, M23 elements.

Definition at line 394 of file Matrix.cs.


The documentation for this struct was generated from the following file: