![]() |
VR-Link C# API Documentation
|
Represents a 4x4 matrix containing 3D rotation, scale, transform, and projection. More...
Inheritance diagram for makVrl.Matrix4:
Collaboration diagram for makVrl.Matrix4:Public Member Functions | |
| Matrix4 (Vector4 row0, Vector4 row1, Vector4 row2, Vector4 row3) | |
| Constructs a new instance. | |
| Matrix4 (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) | |
| Constructs a new instance. | |
| void | Invert () |
| Converts this instance into its inverse. | |
| void | Transpose () |
| Converts this instance into its transpose. | |
| Matrix4 | Normalized () |
| Returns a normalised copy of this instance. | |
| void | Normalize () |
| Divides each element in the Matrix by the Determinant. | |
| Matrix4 | Inverted () |
| Returns an inverted copy of this instance. | |
| Matrix4 | ClearTranslation () |
| Returns a copy of this Matrix4 without translation. | |
| Matrix4 | ClearScale () |
| Returns a copy of this Matrix4 without scale. | |
| Matrix4 | ClearRotation () |
| Returns a copy of this Matrix4 without rotation. | |
| Matrix4 | ClearProjection () |
| Returns a copy of this Matrix4 without projection. | |
| Vector3f | ExtractTranslation () |
| Returns the translation component of this instance. | |
| Vector3f | ExtractScale () |
| Returns the scale component of this instance. | |
| Quaternion | ExtractRotation (bool row_normalise=true) |
| Returns the rotation component of this instance. | |
| Vector4 | ExtractProjection () |
| Returns the projection component of this instance. | |
| override string | ToString () |
| Returns a System.String that represents the current Matrix4. | |
| override int | GetHashCode () |
| Returns the hashcode for this instance. | |
| override bool | Equals (object obj) |
| Indicates whether this instance and a specified object are equal. | |
| bool | Equals (Matrix4 other) |
| Indicates whether the current matrix is equal to another matrix. | |
Static Public Member Functions | |
| static void | CreateFromAxisAngle (Vector3f axis, float angle, out Matrix4 result) |
| Build a rotation matrix from the specified axis/angle rotation. | |
| static Matrix4 | CreateFromAxisAngle (Vector3f axis, float angle) |
| Build a rotation matrix from the specified axis/angle rotation. | |
| static void | CreateFromQuaternion (ref Quaternion q, out Matrix4 result) |
| Builds a rotation matrix from a quaternion. | |
| static Matrix4 | CreateFromQuaternion (Quaternion q) |
| Builds a rotation matrix from a quaternion. | |
| static void | CreateRotationX (float angle, out Matrix4 result) |
| Builds a rotation matrix for a rotation around the x-axis. | |
| static Matrix4 | CreateRotationX (float angle) |
| Builds a rotation matrix for a rotation around the x-axis. | |
| static void | CreateRotationY (float angle, out Matrix4 result) |
| Builds a rotation matrix for a rotation around the y-axis. | |
| static Matrix4 | CreateRotationY (float angle) |
| Builds a rotation matrix for a rotation around the y-axis. | |
| static void | CreateRotationZ (float angle, out Matrix4 result) |
| Builds a rotation matrix for a rotation around the z-axis. | |
| static Matrix4 | CreateRotationZ (float angle) |
| Builds a rotation matrix for a rotation around the z-axis. | |
| static void | CreateTranslation (float x, float y, float z, out Matrix4 result) |
| Creates a translation matrix. | |
| static void | CreateTranslation (ref Vector3f vector, out Matrix4 result) |
| Creates a translation matrix. | |
| static Matrix4 | CreateTranslation (float x, float y, float z) |
| Creates a translation matrix. | |
| static Matrix4 | CreateTranslation (Vector3f vector) |
| Creates a translation matrix. | |
| static Matrix4 | CreateScale (float scale) |
| Creates a scale matrix. | |
| static Matrix4 | CreateScale (Vector3f scale) |
| Creates a scale matrix. | |
| static Matrix4 | CreateScale (float x, float y, float z) |
| Creates a scale matrix. | |
| static void | CreateScale (float scale, out Matrix4 result) |
| Creates a scale matrix. | |
| static void | CreateScale (ref Vector3f scale, out Matrix4 result) |
| Creates a scale matrix. | |
| static void | CreateScale (float x, float y, float z, out Matrix4 result) |
| Creates a scale matrix. | |
| static void | CreateOrthographic (float width, float height, float zNear, float zFar, out Matrix4 result) |
| Creates an orthographic projection matrix. | |
| static Matrix4 | CreateOrthographic (float width, float height, float zNear, float zFar) |
| Creates an orthographic projection matrix. | |
| static void | CreateOrthographicOffCenter (float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) |
| Creates an orthographic projection matrix. | |
| static Matrix4 | CreateOrthographicOffCenter (float left, float right, float bottom, float top, float zNear, float zFar) |
| Creates an orthographic projection matrix. | |
| static void | CreatePerspectiveFieldOfView (float fovy, float aspect, float zNear, float zFar, out Matrix4 result) |
| Creates a perspective projection matrix. | |
| static Matrix4 | CreatePerspectiveFieldOfView (float fovy, float aspect, float zNear, float zFar) |
| Creates a perspective projection matrix. | |
| static void | CreatePerspectiveOffCenter (float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) |
| Creates an perspective projection matrix. | |
| static Matrix4 | CreatePerspectiveOffCenter (float left, float right, float bottom, float top, float zNear, float zFar) |
| Creates an perspective projection matrix. | |
| static Matrix4 | Translation (Vector3f trans) |
| Builds a translation matrix. | |
| static Matrix4 | Translation (float x, float y, float z) |
| Build a translation matrix with the given translation | |
| static Matrix4 | RotateX (float angle) |
| Build a rotation matrix that rotates about the x-axis | |
| static Matrix4 | RotateY (float angle) |
| Build a rotation matrix that rotates about the y-axis | |
| static Matrix4 | RotateZ (float angle) |
| Build a rotation matrix that rotates about the z-axis | |
| static Matrix4 | Rotate (Vector3f axis, float angle) |
| Build a rotation matrix to rotate about the given axis | |
| static Matrix4 | Rotate (Quaternion q) |
| Build a rotation matrix from a quaternion | |
| static Matrix4 | Scale (float scale) |
| Build a scaling matrix | |
| static Matrix4 | Scale (Vector3f scale) |
| Build a scaling matrix | |
| static Matrix4 | Scale (float x, float y, float z) |
| Build a scaling matrix | |
| static Matrix4 | Frustum (float left, float right, float bottom, float top, float near, float far) |
| Build a projection matrix | |
| static Matrix4 | Perspective (float fovy, float aspect, float near, float far) |
| Build a projection matrix | |
| static Matrix4 | LookAt (Vector3f eye, Vector3f target, Vector3f up) |
| Build a world space to camera space matrix | |
| static Matrix4 | LookAt (float eyeX, float eyeY, float eyeZ, float targetX, float targetY, float targetZ, float upX, float upY, float upZ) |
| Build a world space to camera space matrix | |
| static Matrix4 | Add (Matrix4 left, Matrix4 right) |
| Adds two instances. | |
| static void | Add (ref Matrix4 left, ref Matrix4 right, out Matrix4 result) |
| Adds two instances. | |
| static Matrix4 | Subtract (Matrix4 left, Matrix4 right) |
| Subtracts one instance from another. | |
| static void | Subtract (ref Matrix4 left, ref Matrix4 right, out Matrix4 result) |
| Subtracts one instance from another. | |
| static Matrix4 | Mult (Matrix4 left, Matrix4 right) |
| Multiplies two instances. | |
| static void | Mult (ref Matrix4 left, ref Matrix4 right, out Matrix4 result) |
| Multiplies two instances. | |
| static Matrix4 | Mult (Matrix4 left, float right) |
| Multiplies an instance by a scalar. | |
| static void | Mult (ref Matrix4 left, float right, out Matrix4 result) |
| Multiplies an instance by a scalar. | |
| static void | Invert (ref Matrix4 mat, out Matrix4 result) |
| Calculate the inverse of the given matrix | |
| static Matrix4 | Invert (Matrix4 mat) |
| Calculate the inverse of the given matrix | |
| static Matrix4 | Transpose (Matrix4 mat) |
| Calculate the transpose of the given matrix | |
| static void | Transpose (ref Matrix4 mat, out Matrix4 result) |
| Calculate the transpose of the given matrix | |
| static Matrix4 | operator* (Matrix4 left, Matrix4 right) |
| Matrix multiplication | |
| static Matrix4 | operator* (Matrix4 left, float right) |
| Matrix-scalar multiplication | |
| static Matrix4 | operator+ (Matrix4 left, Matrix4 right) |
| Matrix addition | |
| static Matrix4 | operator- (Matrix4 left, Matrix4 right) |
| Matrix subtraction | |
| static bool | operator== (Matrix4 left, Matrix4 right) |
| Compares two instances for equality. | |
| static bool | operator!= (Matrix4 left, Matrix4 right) |
| Compares two instances for inequality. | |
Public Attributes | |
| Vector4 | Row0 |
| Top row of the matrix. | |
| Vector4 | Row1 |
| 2nd row of the matrix. | |
| Vector4 | Row2 |
| 3rd row of the matrix. | |
| Vector4 | Row3 |
| Bottom row of the matrix. | |
Static Public Attributes | |
| static readonly Matrix4 | Identity = new Matrix4(Vector4.UnitX, Vector4.UnitY, Vector4.UnitZ, Vector4.UnitW) |
| The identity matrix. | |
| static readonly Matrix4 | Zero = new Matrix4(Vector4.Zero, Vector4.Zero, Vector4.Zero, Vector4.Zero) |
| The zero matrix. | |
Properties | |
| float | Determinant [get] |
| Gets the determinant of this matrix. | |
| Vector4 | Column0 [get, set] |
| Gets the first column of this matrix. | |
| Vector4 | Column1 [get, set] |
| Gets the second column of this matrix. | |
| Vector4 | Column2 [get, set] |
| Gets the third column of this matrix. | |
| Vector4 | Column3 [get, set] |
| Gets the fourth column of this matrix. | |
| float | M11 [get, set] |
| Gets or sets the value at row 1, column 1 of this instance. | |
| float | M12 [get, set] |
| Gets or sets the value at row 1, column 2 of this instance. | |
| float | M13 [get, set] |
| Gets or sets the value at row 1, column 3 of this instance. | |
| float | M14 [get, set] |
| Gets or sets the value at row 1, column 4 of this instance. | |
| float | M21 [get, set] |
| Gets or sets the value at row 2, column 1 of this instance. | |
| float | M22 [get, set] |
| Gets or sets the value at row 2, column 2 of this instance. | |
| float | M23 [get, set] |
| Gets or sets the value at row 2, column 3 of this instance. | |
| float | M24 [get, set] |
| Gets or sets the value at row 2, column 4 of this instance. | |
| float | M31 [get, set] |
| Gets or sets the value at row 3, column 1 of this instance. | |
| float | M32 [get, set] |
| Gets or sets the value at row 3, column 2 of this instance. | |
| float | M33 [get, set] |
| Gets or sets the value at row 3, column 3 of this instance. | |
| float | M34 [get, set] |
| Gets or sets the value at row 3, column 4 of this instance. | |
| float | M41 [get, set] |
| Gets or sets the value at row 4, column 1 of this instance. | |
| float | M42 [get, set] |
| Gets or sets the value at row 4, column 2 of this instance. | |
| float | M43 [get, set] |
| Gets or sets the value at row 4, column 3 of this instance. | |
| float | M44 [get, set] |
| Gets or sets the value at row 4, column 4 of this instance. | |
| Vector4 | Diagonal [get, set] |
| Gets or sets the values along the main diagonal of the matrix. | |
| float | Trace [get] |
| Gets the trace of the matrix, the sum of the values along the diagonal. | |
| float | this[int rowIndex, int columnIndex] [get, set] |
| Gets or sets the value at a specified row and column. | |
Represents a 4x4 matrix containing 3D rotation, scale, transform, and projection.
Constructs a new instance.
| row0 | Top row of the matrix. |
| row1 | Second row of the matrix. |
| row2 | Third row of the matrix. |
| row3 | Bottom row of the matrix. |
References makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
Referenced by makVrl.Matrix4.Frustum(), and makVrl.Matrix4.Transpose().
|
inline |
Constructs a new instance.
| m00 | First item of the first row of the matrix. |
| m01 | Second item of the first row of the matrix. |
| m02 | Third item of the first row of the matrix. |
| m03 | Fourth item of the first row of the matrix. |
| m10 | First item of the second row of the matrix. |
| m11 | Second item of the second row of the matrix. |
| m12 | Third item of the second row of the matrix. |
| m13 | Fourth item of the second row of the matrix. |
| m20 | First item of the third row of the matrix. |
| m21 | Second item of the third row of the matrix. |
| m22 | Third item of the third row of the matrix. |
| m23 | First item of the third row of the matrix. |
| m30 | Fourth item of the fourth row of the matrix. |
| m31 | Second item of the fourth row of the matrix. |
| m32 | Third item of the fourth row of the matrix. |
| m33 | Fourth item of the fourth row of the matrix. |
References makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
Adds two instances.
| left | The left operand of the addition. |
| right | The right operand of the addition. |
Referenced by makVrl.Matrix4.operator+().
|
inlinestatic |
Adds two instances.
| left | The left operand of the addition. |
| right | The right operand of the addition. |
| result | A new instance that is the result of the addition. |
References makVrl.Matrix4.Row0.
|
inline |
Returns a copy of this Matrix4 without projection.
References makVrl.Matrix4.Column3, and makVrl.Vector4.Zero.
|
inline |
Returns a copy of this Matrix4 without rotation.
References makVrl.Vector3f.Length, makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Vector4.Xyz.
|
inline |
Returns a copy of this Matrix4 without scale.
References makVrl.Vector3f.Normalized(), makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Vector4.Xyz.
|
inline |
Returns a copy of this Matrix4 without translation.
References makVrl.Matrix4.Row3, makVrl.Vector4.Xyz, and makVrl.Vector3f.Zero.
|
inlinestatic |
Build a rotation matrix from the specified axis/angle rotation.
| axis | The axis to rotate about. |
| angle | Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). |
| result | A matrix instance. |
References makVrl.Vector3f.Normalize(), makVrl.Vector4.UnitW, makVrl.Vector3f.X, makVrl.Vector3f.Y, and makVrl.Vector3f.Z.
Referenced by makVrl.Matrix4.CreateFromAxisAngle(), makVrl.Matrix4.CreateFromQuaternion(), and makVrl.Matrix4.Rotate().
Build a rotation matrix from the specified axis/angle rotation.
| axis | The axis to rotate about. |
| angle | Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). |
References makVrl.Matrix4.CreateFromAxisAngle().
|
inlinestatic |
Builds a rotation matrix from a quaternion.
| q | The quaternion to rotate by. |
| result | A matrix instance. |
References makVrl.Matrix4.CreateFromAxisAngle().
Referenced by makVrl.Matrix4.CreateFromQuaternion(), and makVrl.Matrix4.Rotate().
|
inlinestatic |
Builds a rotation matrix from a quaternion.
| q | The quaternion to rotate by. |
References makVrl.Matrix4.CreateFromQuaternion().
|
inlinestatic |
Creates an orthographic projection matrix.
| width | The width of the projection volume. |
| height | The height of the projection volume. |
| zNear | The near edge of the projection volume. |
| zFar | The far edge of the projection volume. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.CreateOrthographicOffCenter().
|
inlinestatic |
Creates an orthographic projection matrix.
| width | The width of the projection volume. |
| height | The height of the projection volume. |
| zNear | The near edge of the projection volume. |
| zFar | The far edge of the projection volume. |
<rereturns>The resulting Matrix4 instance.</rereturns>
References makVrl.Matrix4.CreateOrthographicOffCenter().
|
inlinestatic |
Creates an orthographic projection matrix.
| left | The left edge of the projection volume. |
| right | The right edge of the projection volume. |
| bottom | The bottom edge of the projection volume. |
| top | The top edge of the projection volume. |
| zNear | The near edge of the projection volume. |
| zFar | The far edge of the projection volume. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
Referenced by makVrl.Matrix4.CreateOrthographic(), and makVrl.Matrix4.CreateOrthographicOffCenter().
|
inlinestatic |
Creates an orthographic projection matrix.
| left | The left edge of the projection volume. |
| right | The right edge of the projection volume. |
| bottom | The bottom edge of the projection volume. |
| top | The top edge of the projection volume. |
| zNear | The near edge of the projection volume. |
| zFar | The far edge of the projection volume. |
References makVrl.Matrix4.CreateOrthographicOffCenter().
|
inlinestatic |
Creates a perspective projection matrix.
| fovy | Angle of the field of view in the y direction (in radians) |
| aspect | Aspect ratio of the view (width / height) |
| zNear | Distance to the near clip plane |
| zFar | Distance to the far clip plane |
| result | A projection matrix that transforms camera space to raster space |
| System.ArgumentOutOfRangeException | Thrown under the following conditions:
|
References makVrl.Matrix4.CreatePerspectiveOffCenter().
Referenced by makVrl.Matrix4.CreatePerspectiveFieldOfView().
|
inlinestatic |
Creates a perspective projection matrix.
| fovy | Angle of the field of view in the y direction (in radians) |
| aspect | Aspect ratio of the view (width / height) |
| zNear | Distance to the near clip plane |
| zFar | Distance to the far clip plane |
| System.ArgumentOutOfRangeException | Thrown under the following conditions:
|
References makVrl.Matrix4.CreatePerspectiveFieldOfView().
|
inlinestatic |
Creates an perspective projection matrix.
| left | Left edge of the view frustum |
| right | Right edge of the view frustum |
| bottom | Bottom edge of the view frustum |
| top | Top edge of the view frustum |
| zNear | Distance to the near clip plane |
| zFar | Distance to the far clip plane |
| result | A projection matrix that transforms camera space to raster space |
| System.ArgumentOutOfRangeException | Thrown under the following conditions:
|
Referenced by makVrl.Matrix4.CreatePerspectiveFieldOfView(), and makVrl.Matrix4.CreatePerspectiveOffCenter().
|
inlinestatic |
Creates an perspective projection matrix.
| left | Left edge of the view frustum |
| right | Right edge of the view frustum |
| bottom | Bottom edge of the view frustum |
| top | Top edge of the view frustum |
| zNear | Distance to the near clip plane |
| zFar | Distance to the far clip plane |
| System.ArgumentOutOfRangeException | Thrown under the following conditions:
|
References makVrl.Matrix4.CreatePerspectiveOffCenter().
|
inlinestatic |
Builds a rotation matrix for a rotation around the x-axis.
| angle | The counter-clockwise angle in radians. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row1, and makVrl.Vector4.Y.
Referenced by makVrl.Matrix4.CreateRotationX(), and makVrl.Matrix4.RotateX().
|
inlinestatic |
Builds a rotation matrix for a rotation around the x-axis.
| angle | The counter-clockwise angle in radians. |
References makVrl.Matrix4.CreateRotationX().
|
inlinestatic |
Builds a rotation matrix for a rotation around the y-axis.
| angle | The counter-clockwise angle in radians. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
Referenced by makVrl.Matrix4.CreateRotationY(), and makVrl.Matrix4.RotateY().
|
inlinestatic |
Builds a rotation matrix for a rotation around the y-axis.
| angle | The counter-clockwise angle in radians. |
References makVrl.Matrix4.CreateRotationY().
|
inlinestatic |
Builds a rotation matrix for a rotation around the z-axis.
| angle | The counter-clockwise angle in radians. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
Referenced by makVrl.Matrix4.CreateRotationZ(), and makVrl.Matrix4.RotateZ().
|
inlinestatic |
Builds a rotation matrix for a rotation around the z-axis.
| angle | The counter-clockwise angle in radians. |
References makVrl.Matrix4.CreateRotationZ().
|
inlinestatic |
Creates a scale matrix.
| scale | Single scale factor for the x, y, and z axes. |
Referenced by makVrl.Matrix4.CreateScale().
Creates a scale matrix.
| scale | Scale factors for the x, y, and z axes. |
References makVrl.Matrix4.CreateScale().
|
inlinestatic |
Creates a scale matrix.
| x | Scale factor for the x axis. |
| y | Scale factor for the y axis. |
| z | Scale factor for the z axis. |
References makVrl.Matrix4.CreateScale().
|
inlinestatic |
Creates a scale matrix.
| scale | Single scale factor for the x, y, and z axes. |
| result | A scale matrix. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
Creates a scale matrix.
| scale | Scale factors for the x, y, and z axes. |
| result | A scale matrix. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
|
inlinestatic |
Creates a scale matrix.
| x | Scale factor for the x axis. |
| y | Scale factor for the y axis. |
| z | Scale factor for the z axis. |
| result | A scale matrix. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row0, and makVrl.Vector4.X.
|
inlinestatic |
Creates a translation matrix.
| x | X translation. |
| y | Y translation. |
| z | Z translation. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row3, and makVrl.Vector4.X.
Referenced by makVrl.Matrix4.CreateTranslation(), and makVrl.Matrix4.Translation().
|
inlinestatic |
Creates a translation matrix.
| vector | The translation vector. |
| result | The resulting Matrix4 instance. |
References makVrl.Matrix4.Identity, makVrl.Matrix4.Row3, and makVrl.Vector4.X.
|
inlinestatic |
Creates a translation matrix.
| x | X translation. |
| y | Y translation. |
| z | Z translation. |
References makVrl.Matrix4.CreateTranslation().
Creates a translation matrix.
| vector | The translation vector. |
References makVrl.Matrix4.CreateTranslation(), makVrl.Vector3f.X, makVrl.Vector3f.Y, and makVrl.Vector3f.Z.
|
inline |
Indicates whether this instance and a specified object are equal.
| obj | The object to compare tresult. |
Referenced by makVrl.Matrix4.operator!=(), and makVrl.Matrix4.operator==().
|
inline |
Indicates whether the current matrix is equal to another matrix.
| other | An matrix to compare with this matrix. |
References makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
|
inline |
Returns the projection component of this instance.
References makVrl.Matrix4.Column3.
|
inline |
Returns the rotation component of this instance.
Quite slow.
| row_normalise | Whether the method should row-normalise (i.e. remove scale from) the Matrix. Pass false if you know it's already normalised. |
References makVrl.Quaternion.Normalize(), makVrl.Vector3f.Normalized(), makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, makVrl.Quaternion.W, makVrl.Quaternion.X, makVrl.Vector4.Xyz, makVrl.Quaternion.Y, and makVrl.Quaternion.Z.
|
inline |
Returns the scale component of this instance.
References makVrl.Vector3f.Length, makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Vector4.Xyz.
|
inline |
Returns the translation component of this instance.
References makVrl.Matrix4.Row3, and makVrl.Vector4.Xyz.
|
inlinestatic |
Build a projection matrix
| left | Left edge of the view frustum |
| right | Right edge of the view frustum |
| bottom | Bottom edge of the view frustum |
| top | Top edge of the view frustum |
| near | Distance to the near clip plane |
| far | Distance to the far clip plane |
References makVrl.Matrix4.Matrix4().
Referenced by makVrl.Matrix4.Perspective().
|
inline |
Returns the hashcode for this instance.
References makVrl.Vector4.GetHashCode(), makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
|
inline |
Converts this instance into its inverse.
References makVrl.Matrix4.Invert().
Referenced by makVrl.Matrix4.Invert(), makVrl.Matrix4.Inverted(), and makVrl.Vector3f.TransformNormal().
Calculate the inverse of the given matrix
| mat | The matrix to invert |
| result | The inverse of the given matrix if it has one, or the input if it is singular |
| InvalidOperationException | Thrown if the Matrix4 is singular. |
Calculate the inverse of the given matrix
| mat | The matrix to invert |
| InvalidOperationException | Thrown if the Matrix4 is singular. |
References makVrl.Matrix4.Invert().
|
inline |
Returns an inverted copy of this instance.
References makVrl.Matrix4.Determinant, and makVrl.Matrix4.Invert().
Build a world space to camera space matrix
| eye | Eye (camera) position in world space |
| target | Target position in world space |
| up | Up vector in world space (should not be parallel to the camera direction, that is target - eye) |
References makVrl.Vector3f.Cross(), makVrl.Vector3f.Normalize(), makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, makVrl.Matrix4.Row3, makVrl.Vector4.W, makVrl.Vector4.X, makVrl.Vector3f.X, makVrl.Vector4.Y, makVrl.Vector3f.Y, makVrl.Vector4.Z, and makVrl.Vector3f.Z.
Referenced by makVrl.Matrix4.LookAt().
|
inlinestatic |
Build a world space to camera space matrix
| eyeX | Eye (camera) position in world space |
| eyeY | Eye (camera) position in world space |
| eyeZ | Eye (camera) position in world space |
| targetX | Target position in world space |
| targetY | Target position in world space |
| targetZ | Target position in world space |
| upX | Up vector in world space (should not be parallel to the camera direction, that is target - eye) |
| upY | Up vector in world space (should not be parallel to the camera direction, that is target - eye) |
| upZ | Up vector in world space (should not be parallel to the camera direction, that is target - eye) |
References makVrl.Matrix4.LookAt().
Multiplies two instances.
| left | The left operand of the multiplication. |
| right | The right operand of the multiplication. |
Referenced by makVrl.Matrix4.Mult(), and makVrl.Matrix4.operator*().
|
inlinestatic |
Multiplies two instances.
| left | The left operand of the multiplication. |
| right | The right operand of the multiplication. |
| result | A new instance that is the result of the multiplication. |
References makVrl.Matrix4.Row0, and makVrl.Vector4.X.
Multiplies an instance by a scalar.
| left | The left operand of the multiplication. |
| right | The right operand of the multiplication. |
References makVrl.Matrix4.Mult().
Multiplies an instance by a scalar.
| left | The left operand of the multiplication. |
| right | The right operand of the multiplication. |
| result | A new instance that is the result of the multiplication |
References makVrl.Matrix4.Row0.
|
inline |
Divides each element in the Matrix by the Determinant.
References makVrl.Matrix4.Determinant, makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
Referenced by makVrl.Matrix4.Normalized().
|
inline |
Returns a normalised copy of this instance.
References makVrl.Matrix4.Normalize().
Compares two instances for inequality.
| left | The first instance. |
| right | The second instance. |
References makVrl.Matrix4.Equals().
Matrix multiplication
| left | left-hand operand |
| right | right-hand operand |
References makVrl.Matrix4.Mult().
Matrix-scalar multiplication
| left | left-hand operand |
| right | right-hand operand |
References makVrl.Matrix4.Mult().
Matrix addition
| left | left-hand operand |
| right | right-hand operand |
References makVrl.Matrix4.Add().
Matrix subtraction
| left | left-hand operand |
| right | right-hand operand |
References makVrl.Matrix4.Subtract().
Compares two instances for equality.
| left | The first instance. |
| right | The second instance. |
References makVrl.Matrix4.Equals().
|
inlinestatic |
Build a projection matrix
| fovy | Angle of the field of view in the y direction (in radians) |
| aspect | Aspect ratio of the view (width / height) |
| near | Distance to the near clip plane |
| far | Distance to the far clip plane |
References makVrl.Matrix4.Frustum().
Build a rotation matrix to rotate about the given axis
| axis | the axis to rotate about |
| angle | angle in radians to rotate counter-clockwise (looking in the direction of the given axis) |
References makVrl.Matrix4.CreateFromAxisAngle().
|
inlinestatic |
Build a rotation matrix from a quaternion
| q | the quaternion |
References makVrl.Matrix4.CreateFromQuaternion().
|
inlinestatic |
Build a rotation matrix that rotates about the x-axis
| angle | angle in radians to rotate counter-clockwise around the x-axis |
References makVrl.Matrix4.CreateRotationX().
|
inlinestatic |
Build a rotation matrix that rotates about the y-axis
| angle | angle in radians to rotate counter-clockwise around the y-axis |
References makVrl.Matrix4.CreateRotationY().
|
inlinestatic |
Build a rotation matrix that rotates about the z-axis
| angle | angle in radians to rotate counter-clockwise around the z-axis |
References makVrl.Matrix4.CreateRotationZ().
|
inlinestatic |
Build a scaling matrix
| scale | Single scale factor for x,y and z axes |
Referenced by makVrl.Matrix4.Scale().
Build a scaling matrix
| scale | Scale factors for x,y and z axes |
References makVrl.Matrix4.Scale(), makVrl.Vector3f.X, makVrl.Vector3f.Y, and makVrl.Vector3f.Z.
|
inlinestatic |
Build a scaling matrix
| x | Scale factor for x-axis |
| y | Scale factor for y-axis |
| z | Scale factor for z-axis |
References makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, makVrl.Matrix4.Row3, makVrl.Vector4.UnitW, makVrl.Vector4.UnitX, makVrl.Vector4.UnitY, and makVrl.Vector4.UnitZ.
Subtracts one instance from another.
| left | The left operand of the subraction. |
| right | The right operand of the subraction. |
Referenced by makVrl.Matrix4.operator-().
|
inlinestatic |
Subtracts one instance from another.
| left | The left operand of the subraction. |
| right | The right operand of the subraction. |
| result | A new instance that is the result of the subraction. |
References makVrl.Matrix4.Row0.
|
inline |
Returns a System.String that represents the current Matrix4.
References makVrl.Matrix4.Row0, makVrl.Matrix4.Row1, makVrl.Matrix4.Row2, and makVrl.Matrix4.Row3.
Builds a translation matrix.
| trans | The translation vector. |
References makVrl.Matrix4.CreateTranslation().
|
inlinestatic |
Build a translation matrix with the given translation
| x | X translation |
| y | Y translation |
| z | Z translation |
References makVrl.Matrix4.CreateTranslation().
|
inline |
Converts this instance into its transpose.
References makVrl.Matrix4.Transpose().
Referenced by makVrl.Matrix4.Transpose().
Calculate the transpose of the given matrix
| mat | The matrix to transpose |
References makVrl.Matrix4.Column0, makVrl.Matrix4.Column1, makVrl.Matrix4.Column2, makVrl.Matrix4.Column3, and makVrl.Matrix4.Matrix4().
Calculate the transpose of the given matrix
| mat | The matrix to transpose |
| result | The result of the calculation |
|
static |
| Vector4 makVrl.Matrix4.Row0 |
Top row of the matrix.
Referenced by makVrl.Matrix4.Add(), makVrl.Matrix4.ClearRotation(), makVrl.Matrix4.ClearScale(), makVrl.Matrix4.CreateOrthographicOffCenter(), makVrl.Matrix4.CreateRotationY(), makVrl.Matrix4.CreateRotationZ(), makVrl.Matrix4.CreateScale(), makVrl.Matrix4.Equals(), makVrl.Matrix4.ExtractRotation(), makVrl.Matrix4.ExtractScale(), makVrl.Matrix4.GetHashCode(), makVrl.Matrix4.LookAt(), makVrl.Matrix3.Matrix3(), makVrl.Matrix4.Matrix4(), makVrl.Matrix4.Mult(), makVrl.Matrix4.Normalize(), makVrl.Matrix4.Scale(), makVrl.Matrix4.Subtract(), makVrl.Matrix4.ToString(), and makVrl.Vector3f.TransformNormalInverse().
| Vector4 makVrl.Matrix4.Row1 |
2nd row of the matrix.
Referenced by makVrl.Matrix4.ClearRotation(), makVrl.Matrix4.ClearScale(), makVrl.Matrix4.CreateRotationX(), makVrl.Matrix4.Equals(), makVrl.Matrix4.ExtractRotation(), makVrl.Matrix4.ExtractScale(), makVrl.Matrix4.GetHashCode(), makVrl.Matrix4.LookAt(), makVrl.Matrix3.Matrix3(), makVrl.Matrix4.Matrix4(), makVrl.Matrix4.Normalize(), makVrl.Matrix4.Scale(), makVrl.Matrix4.ToString(), and makVrl.Vector3f.TransformNormalInverse().
| Vector4 makVrl.Matrix4.Row2 |
3rd row of the matrix.
Referenced by makVrl.Matrix4.ClearRotation(), makVrl.Matrix4.ClearScale(), makVrl.Matrix4.Equals(), makVrl.Matrix4.ExtractRotation(), makVrl.Matrix4.ExtractScale(), makVrl.Matrix4.GetHashCode(), makVrl.Matrix4.LookAt(), makVrl.Matrix3.Matrix3(), makVrl.Matrix4.Matrix4(), makVrl.Matrix4.Normalize(), makVrl.Matrix4.Scale(), makVrl.Matrix4.ToString(), and makVrl.Vector3f.TransformNormalInverse().
| Vector4 makVrl.Matrix4.Row3 |
Bottom row of the matrix.
Referenced by makVrl.Matrix4.ClearTranslation(), makVrl.Matrix4.CreateTranslation(), makVrl.Matrix4.Equals(), makVrl.Matrix4.ExtractTranslation(), makVrl.Matrix4.GetHashCode(), makVrl.Matrix4.LookAt(), makVrl.Matrix4.Matrix4(), makVrl.Matrix4.Normalize(), makVrl.Matrix4.Scale(), makVrl.Matrix4.ToString(), and makVrl.Vector3f.TransformPosition().
|
static |
The zero matrix.
|
getset |
Gets the first column of this matrix.
Referenced by makVrl.Vector3f.TransformPosition(), makVrl.Vector3f.TransformVector(), and makVrl.Matrix4.Transpose().
|
getset |
Gets the second column of this matrix.
Referenced by makVrl.Vector3f.TransformPosition(), makVrl.Vector3f.TransformVector(), and makVrl.Matrix4.Transpose().
|
getset |
Gets the third column of this matrix.
Referenced by makVrl.Vector3f.TransformPosition(), makVrl.Vector3f.TransformVector(), and makVrl.Matrix4.Transpose().
|
getset |
Gets the fourth column of this matrix.
Referenced by makVrl.Matrix4.ClearProjection(), makVrl.Matrix4.ExtractProjection(), and makVrl.Matrix4.Transpose().
|
get |
Gets the determinant of this matrix.
Referenced by makVrl.Matrix4.Inverted(), and makVrl.Matrix4.Normalize().
|
getset |
Gets or sets the values along the main diagonal of the matrix.
|
getset |
Gets or sets the value at row 1, column 1 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 1, column 2 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 1, column 3 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 1, column 4 of this instance.
|
getset |
Gets or sets the value at row 2, column 1 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 2, column 2 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 2, column 3 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 2, column 4 of this instance.
|
getset |
Gets or sets the value at row 3, column 1 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 3, column 2 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 3, column 3 of this instance.
Referenced by makVrl.Matrix4d.CreateFromQuaternion().
|
getset |
Gets or sets the value at row 3, column 4 of this instance.
|
getset |
Gets or sets the value at row 4, column 1 of this instance.
|
getset |
Gets or sets the value at row 4, column 2 of this instance.
|
getset |
Gets or sets the value at row 4, column 3 of this instance.
|
getset |
Gets or sets the value at row 4, column 4 of this instance.
|
getset |
Gets or sets the value at a specified row and column.
|
get |
Gets the trace of the matrix, the sum of the values along the diagonal.