The Open Toolkit library
1.0
|
Represents a 3x4 matrix. More...
Inherits IEquatable< Matrix4x3d >.
Public Member Functions | |
Matrix4x3d (Vector3d row0, Vector3d row1, Vector3d row2, Vector3d row3) | |
Constructs a new instance. More... | |
Matrix4x3d (double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22, double m30, double m31, double m32) | |
Constructs a new instance. More... | |
void | Invert () |
Converts this instance into its inverse. More... | |
override string | ToString () |
Returns a System.String that represents the current Matrix4x3d. More... | |
override int | GetHashCode () |
Returns the hashcode for this instance. More... | |
override bool | Equals (object obj) |
Indicates whether this instance and a specified object are equal. More... | |
bool | Equals (Matrix4x3d other) |
Indicates whether the current matrix is equal to another matrix. More... | |
Static Public Member Functions | |
static void | CreateFromAxisAngle (Vector3d axis, double angle, out Matrix4x3d result) |
Build a rotation matrix from the specified axis/angle rotation. More... | |
static Matrix4x3d | CreateFromAxisAngle (Vector3d axis, double angle) |
Build a rotation matrix from the specified axis/angle rotation. More... | |
static void | CreateFromQuaternion (ref Quaternion q, out Matrix4x3d result) |
Builds a rotation matrix from a quaternion. More... | |
static Matrix4x3d | CreateFromQuaternion (Quaternion q) |
Builds a rotation matrix from a quaternion. More... | |
static void | CreateRotationX (double angle, out Matrix4x3d result) |
Builds a rotation matrix for a rotation around the x-axis. More... | |
static Matrix4x3d | CreateRotationX (double angle) |
Builds a rotation matrix for a rotation around the x-axis. More... | |
static void | CreateRotationY (double angle, out Matrix4x3d result) |
Builds a rotation matrix for a rotation around the y-axis. More... | |
static Matrix4x3d | CreateRotationY (double angle) |
Builds a rotation matrix for a rotation around the y-axis. More... | |
static void | CreateRotationZ (double angle, out Matrix4x3d result) |
Builds a rotation matrix for a rotation around the z-axis. More... | |
static Matrix4x3d | CreateRotationZ (double angle) |
Builds a rotation matrix for a rotation around the z-axis. More... | |
static void | CreateTranslation (double x, double y, double z, out Matrix4x3d result) |
Creates a translation matrix. More... | |
static void | CreateTranslation (ref Vector3d vector, out Matrix4x3d result) |
Creates a translation matrix. More... | |
static Matrix4x3d | CreateTranslation (double x, double y, double z) |
Creates a translation matrix. More... | |
static Matrix4x3d | CreateTranslation (Vector3d vector) |
Creates a translation matrix. More... | |
static Matrix4x3d | CreateScale (double scale) |
Build a scaling matrix More... | |
static Matrix4x3d | CreateScale (Vector3d scale) |
Build a scaling matrix More... | |
static Matrix4x3d | CreateScale (double x, double y, double z) |
Build a scaling matrix More... | |
static Matrix4d | Mult (Matrix4x3d left, Matrix3x4d right) |
This isn't quite a multiply, but the result may be useful in some situations. Multiplies two instances. More... | |
static void | Mult (ref Matrix4x3d left, ref Matrix3x4d right, out Matrix4d result) |
This isn't quite a multiply, but the result may be useful in some situations. Multiplies two instances. More... | |
static Matrix4x3d | Mult (Matrix4x3d left, Matrix4x3d right) |
Multiplies two instances. More... | |
static void | Mult (ref Matrix4x3d left, ref Matrix4x3d right, out Matrix4x3d result) |
Multiplies two instances. More... | |
static Matrix4x3d | Mult (Matrix4x3d left, double right) |
Multiplies an instance by a scalar. More... | |
static void | Mult (ref Matrix4x3d left, double right, out Matrix4x3d result) |
Multiplies an instance by a scalar. More... | |
static Matrix4x3d | Add (Matrix4x3d left, Matrix4x3d right) |
Adds two instances. More... | |
static void | Add (ref Matrix4x3d left, ref Matrix4x3d right, out Matrix4x3d result) |
Adds two instances. More... | |
static Matrix4x3d | Subtract (Matrix4x3d left, Matrix4x3d right) |
Subtracts one instance from another. More... | |
static void | Subtract (ref Matrix4x3d left, ref Matrix4x3d right, out Matrix4x3d result) |
Subtracts one instance from another. More... | |
static Matrix4x3d | Invert (Matrix4x3d mat) |
Calculate the inverse of the given matrix More... | |
static void | Invert (ref Matrix4x3d mat, out Matrix4x3d result) |
Calculate the inverse of the given matrix More... | |
static Matrix3x4d | Transpose (Matrix4x3d mat) |
Calculate the transpose of the given matrix More... | |
static void | Transpose (ref Matrix4x3d mat, out Matrix3x4d result) |
Calculate the transpose of the given matrix More... | |
static Matrix4d | operator* (Matrix4x3d left, Matrix3x4d right) |
Matrix multiplication More... | |
static Matrix4x3d | operator* (Matrix4x3d left, Matrix4x3d right) |
Matrix multiplication More... | |
static Matrix4x3d | operator* (Matrix4x3d left, double right) |
Matrix-scalar multiplication More... | |
static Matrix4x3d | operator+ (Matrix4x3d left, Matrix4x3d right) |
Matrix addition More... | |
static Matrix4x3d | operator- (Matrix4x3d left, Matrix4x3d right) |
Matrix subtraction More... | |
static bool | operator== (Matrix4x3d left, Matrix4x3d right) |
Compares two instances for equality. More... | |
static bool | operator!= (Matrix4x3d left, Matrix4x3d right) |
Compares two instances for inequality. More... | |
Public Attributes | |
Vector3d | Row0 |
Top row of the matrix More... | |
Vector3d | Row1 |
2nd row of the matrix More... | |
Vector3d | Row2 |
3rd row of the matrix More... | |
Vector3d | Row3 |
Bottom row of the matrix More... | |
Static Public Attributes | |
static Matrix4x3d | Zero = new Matrix4x3d(Vector3d.Zero, Vector3d.Zero, Vector3d.Zero, Vector3d.Zero) |
The zero matrix More... | |
Properties | |
Vector4d | Column0 [get] |
Gets the first column of this matrix. More... | |
Vector4d | Column1 [get] |
Gets the second column of this matrix. More... | |
Vector4d | Column2 [get] |
Gets the third column of this matrix. More... | |
double | M11 [get, set] |
Gets or sets the value at row 1, column 1 of this instance. More... | |
double | M12 [get, set] |
Gets or sets the value at row 1, column 2 of this instance. More... | |
double | M13 [get, set] |
Gets or sets the value at row 1, column 3 of this instance. More... | |
double | M21 [get, set] |
Gets or sets the value at row 2, column 1 of this instance. More... | |
double | M22 [get, set] |
Gets or sets the value at row 2, column 2 of this instance. More... | |
double | M23 [get, set] |
Gets or sets the value at row 2, column 3 of this instance. More... | |
double | M31 [get, set] |
Gets or sets the value at row 3, column 1 of this instance. More... | |
double | M32 [get, set] |
Gets or sets the value at row 3, column 2 of this instance. More... | |
double | M33 [get, set] |
Gets or sets the value at row 3, column 3 of this instance. More... | |
double | M41 [get, set] |
Gets or sets the value at row 4, column 1 of this instance. More... | |
double | M42 [get, set] |
Gets or sets the value at row 4, column 2 of this instance. More... | |
double | M43 [get, set] |
Gets or sets the value at row 4, column 3 of this instance. More... | |
Vector3d | Diagonal [get, set] |
Gets or sets the values along the main diagonal of the matrix. More... | |
double | Trace [get] |
Gets the trace of the matrix, the sum of the values along the diagonal. More... | |
double | this[int rowIndex, int columnIndex] [get, set] |
Gets or sets the value at a specified row and column. More... | |
Represents a 3x4 matrix.
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 |
OpenTK.Matrix4x3d.Matrix4x3d | ( | double | m00, |
double | m01, | ||
double | m02, | ||
double | m10, | ||
double | m11, | ||
double | m12, | ||
double | m20, | ||
double | m21, | ||
double | m22, | ||
double | m30, | ||
double | m31, | ||
double | m32 | ||
) |
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. |
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. |
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. |
m30 | First 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. |
|
static |
Adds two instances.
left | The left operand of the addition. |
right | The right operand of the addition. |
|
static |
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. |
|
static |
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. |
|
static |
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). |
|
static |
Builds a rotation matrix from a quaternion.
q | The quaternion to rotate by. |
result | A matrix instance. |
|
static |
Builds a rotation matrix from a quaternion.
q | The quaternion to rotate by. |
|
static |
Builds a rotation matrix for a rotation around the x-axis.
angle | The counter-clockwise angle in radians. |
result | The resulting Matrix4dinstance. |
|
static |
Builds a rotation matrix for a rotation around the x-axis.
angle | The counter-clockwise angle in radians. |
|
static |
Builds a rotation matrix for a rotation around the y-axis.
angle | The counter-clockwise angle in radians. |
result | The resulting Matrix4dinstance. |
|
static |
Builds a rotation matrix for a rotation around the y-axis.
angle | The counter-clockwise angle in radians. |
|
static |
Builds a rotation matrix for a rotation around the z-axis.
angle | The counter-clockwise angle in radians. |
result | The resulting Matrix4dinstance. |
|
static |
Builds a rotation matrix for a rotation around the z-axis.
angle | The counter-clockwise angle in radians. |
|
static |
Build a scaling matrix
scale | Single scale factor for x,y and z axes |
|
static |
Build a scaling matrix
scale | Scale factors for x,y and z axes |
|
static |
Build a scaling matrix
x | Scale factor for x-axis |
y | Scale factor for y-axis |
z | Scale factor for z-axis |
|
static |
Creates a translation matrix.
x | X translation. |
y | Y translation. |
z | Z translation. |
result | The resulting Matrix4dinstance. |
|
static |
Creates a translation matrix.
vector | The translation vector. |
result | The resulting Matrix4dinstance. |
|
static |
Creates a translation matrix.
x | X translation. |
y | Y translation. |
z | Z translation. |
|
static |
Creates a translation matrix.
vector | The translation vector. |
override bool OpenTK.Matrix4x3d.Equals | ( | object | obj | ) |
Indicates whether this instance and a specified object are equal.
obj | The object to compare tresult. |
bool OpenTK.Matrix4x3d.Equals | ( | Matrix4x3d | other | ) |
Indicates whether the current matrix is equal to another matrix.
other | An matrix to compare with this matrix. |
override int OpenTK.Matrix4x3d.GetHashCode | ( | ) |
Returns the hashcode for this instance.
void OpenTK.Matrix4x3d.Invert | ( | ) |
Converts this instance into its inverse.
|
static |
Calculate the inverse of the given matrix
mat | The matrix to invert |
InvalidOperationException | Thrown if the Matrix4 is singular. |
|
static |
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. |
|
static |
This isn't quite a multiply, but the result may be useful in some situations. Multiplies two instances.
left | The left operand of the multiplication. |
right | The right operand of the multiplication. |
|
static |
This isn't quite a multiply, but the result may be useful in some situations. 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 |
|
static |
Multiplies two instances.
left | The left operand of the multiplication. |
right | The right operand of the multiplication. |
|
static |
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 |
|
static |
Multiplies an instance by a scalar.
left | The left operand of the multiplication. |
right | The right operand of the multiplication. |
|
static |
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 |
|
static |
Compares two instances for inequality.
left | The first instance. |
right | The second instance. |
|
static |
Matrix multiplication
left | left-hand operand |
right | right-hand operand |
|
static |
Matrix multiplication
left | left-hand operand |
right | right-hand operand |
|
static |
Matrix-scalar multiplication
left | left-hand operand |
right | right-hand operand |
|
static |
Matrix addition
left | left-hand operand |
right | right-hand operand |
|
static |
Matrix subtraction
left | left-hand operand |
right | right-hand operand |
|
static |
Compares two instances for equality.
left | The first instance. |
right | The second instance. |
|
static |
Subtracts one instance from another.
left | The left operand of the subraction. |
right | The right operand of the subraction. |
|
static |
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. |
override string OpenTK.Matrix4x3d.ToString | ( | ) |
Returns a System.String that represents the current Matrix4x3d.
|
static |
Calculate the transpose of the given matrix
mat | The matrix to transpose |
|
static |
Calculate the transpose of the given matrix
mat | The matrix to transpose |
result | The result of the calculation |
Vector3d OpenTK.Matrix4x3d.Row0 |
Top row of the matrix
Vector3d OpenTK.Matrix4x3d.Row1 |
2nd row of the matrix
Vector3d OpenTK.Matrix4x3d.Row2 |
3rd row of the matrix
Vector3d OpenTK.Matrix4x3d.Row3 |
Bottom row of the matrix
|
static |
The zero matrix
|
get |
Gets the first column of this matrix.
|
get |
Gets the second column of this matrix.
|
get |
Gets the third column of this matrix.
|
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.
|
getset |
Gets or sets the value at row 1, column 2 of this instance.
|
getset |
Gets or sets the value at row 1, column 3 of this instance.
|
getset |
Gets or sets the value at row 2, column 1 of this instance.
|
getset |
Gets or sets the value at row 2, column 2 of this instance.
|
getset |
Gets or sets the value at row 2, column 3 of this instance.
|
getset |
Gets or sets the value at row 3, column 1 of this instance.
|
getset |
Gets or sets the value at row 3, column 2 of this instance.
|
getset |
Gets or sets the value at row 3, column 3 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 a specified row and column.
|
get |
Gets the trace of the matrix, the sum of the values along the diagonal.