Matrix Structure |
Defines a 4x4 matrix.
A default constructed one is Zero.
You are unlikely to ever directly construct one, you'd use one of the static methods returning a Matrix, e.g. RotationAxis(Vector3, Double)
[SerializableAttribute] public struct Matrix : IEquatable<Matrix>
The Matrix type exposes the following members.
| Name | Description | |
|---|---|---|
| Inverted | Invert this Matrix | |
| Origin | The Origin of the Matrix | |
| OriginX | The X component of Origin as a Single | |
| OriginXD | The X component of Origin as a Double | |
| OriginY | The Y component of Origin as a Single | |
| OriginYD | The Y component of Origin as a Double | |
| OriginZ | The Z component of Origin as a Single | |
| OriginZD | The Z component of Origin as a Double | |
| Transposed | Transpose this Matrix | |
| XAxis | The X-Axis of the Matrix | |
| YAxis | The Y-Axis of the Matrix | |
| ZAxis | The Z-Axis of the Matrix |
| Name | Description | |
|---|---|---|
| Add | Matrix addition | |
| Equals(Matrix) | Matrix exact equality - see EQ(Matrix, Matrix) for alternative | |
| Equals(Object) | Matrix exact equality - see EQ(Matrix, Matrix) for alternative
(Overrides ValueTypeEquals(Object)) | |
| GetHashCode |
Returns the hash code for the current Matrix.
(Overrides ValueTypeGetHashCode) | |
| Invert | Invert this Matrix | |
| Invert(Matrix) | Invert given Matrix | |
| Multiply(Matrix) | Matrix multiplication | |
| Multiply(Matrix, Matrix) | Matrix multiplication | |
| RotationAxis(Vector3, Double) | Form a rotation Matrix rotating about given axis | |
| RotationAxis(Vector3, Double, Vector3) | Form a rotation Matrix rotating about given axis, offset from the origin | |
| RotationAxisDegrees(Vector3, Double) | Form a rotation Matrix rotating about given axis | |
| RotationAxisDegrees(Vector3, Double, Vector3) | Form a rotation Matrix rotating about given axis, offset from the origin | |
| RotationQuaternion | Form a rotation Matrix from Quaternion | |
| RotationX(Double) | Form a rotation Matrix rotating about the X-Axis | |
| RotationX(Double, Vector3) | Form a rotation Matrix rotating about the X-Axis, offset from the origin | |
| RotationXDegrees(Double) | Form a rotation Matrix rotating about the X-Axis | |
| RotationXDegrees(Double, Vector3) | Form a rotation Matrix rotating about the X-Axis, offset from the origin | |
| RotationY(Double) | Form a rotation Matrix rotating about the Y-Axis | |
| RotationY(Double, Vector3) | Form a rotation Matrix rotating about the Y-Axis, offset from the origin | |
| RotationYawPitchRoll(Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) contained within the Vector3 with Yaw being the Y component, Pitch being the X component and Roll being the the Z component. | |
| RotationYawPitchRoll(Vector3, Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) contained within the Vector3 with Yaw being the Y component, Pitch being the X component and Roll being the the Z component, offset from the origin. | |
| RotationYawPitchRoll(Double, Double, Double) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) | |
| RotationYawPitchRoll(Double, Double, Double, Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation), offset from the origin | |
| RotationYawPitchRollDegrees(Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) contained within the Vector3 with Yaw being the Y component, Pitch being the X component and Roll being the the Z component. | |
| RotationYawPitchRollDegrees(Vector3, Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) contained within the Vector3 with Yaw being the Y component, Pitch being the X component and Roll being the the Z component, offset from the origin. | |
| RotationYawPitchRollDegrees(Double, Double, Double) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation) | |
| RotationYawPitchRollDegrees(Double, Double, Double, Vector3) | Form a rotation Matrix from Yaw (Y-Axis rotation), Pitch (X-Axis rotation) and Roll (Z-Axis rotation), offset from the origin | |
| RotationYDegrees(Double) | Form a rotation Matrix rotating about the Y-Axis | |
| RotationYDegrees(Double, Vector3) | Form a rotation Matrix rotating about the Y-Axis, offset from the origin | |
| RotationZ(Double) | Form a rotation Matrix rotating about the Z-Axis | |
| RotationZ(Double, Vector3) | Form a rotation Matrix rotating about the Z-Axis, offset from the origin | |
| RotationZDegrees(Double) | Form a rotation Matrix rotating about the Z-Axis | |
| RotationZDegrees(Double, Vector3) | Form a rotation Matrix rotating about the Z-Axis, offset from the origin | |
| Scaling(Double) | Form a scaling Matrix | |
| Scaling(Vector3) | Form a scaling Matrix | |
| Scaling(Double, Double, Double) | Form a scaling Matrix | |
| Subtract | Matrix subtraction | |
| ToString |
Returns a string that represents the current Matrix.
(Overrides ValueTypeToString) | |
| Transform(Plane) | Transform Plane by this Matrix | |
| Transform(Vector2) | Transforms a Vector2 by this Matrix | |
| Transform(Vector3) | Transforms a Vector3 by this Matrix | |
| Transform(Vector4) | Transforms a Vector4 by this Matrix | |
| TransformCoordinate(Vector2) | Transform Vector2 coordinate by this Matrix | |
| TransformCoordinate(Vector3) | Transform Vector3 coordinate by this Matrix | |
| TransformNormal(Vector2) | Transform Vector2 normal by this Matrix | |
| TransformNormal(Vector3) | Transform Vector3 normal by this Matrix | |
| Translation(Vector3) | Form a translation Matrix | |
| Translation(Double, Double, Double) | Form a translation Matrix | |
| Transpose | Transpose this Matrix | |
| Transpose(Matrix) | Transpose given Matrix |
| Name | Description | |
|---|---|---|
| Addition(Matrix, Matrix) | Matrix addition | |
| Equality(Matrix, Matrix) | Matrix exact equality - see EQ(Matrix, Matrix) for alternative | |
| Inequality(Matrix, Matrix) | Matrix exact inequality - see EQ(Matrix, Matrix) for alternative | |
| Multiply(Matrix, Matrix) | Matrix multiplication | |
| Subtraction(Matrix, Matrix) | Matrix subtraction |
| Name | Description | |
|---|---|---|
| Identity | A Matrix representing the "Identity" matrix | |
| RotationX0 | Equivalent to Identity | |
| RotationX180 | Precomputed rotation Matrix of 180 degrees (or -180 degrees) about the X-Axis | |
| RotationX270 | Precomputed rotation Matrix of 270 degrees (or -90 degrees) about the X-Axis | |
| RotationX360 | Equivalent to Identity | |
| RotationX90 | Precomputed rotation Matrix of 90 degrees (or -270 degrees) about the X-Axis | |
| RotationY0 | Equivalent to Identity | |
| RotationY180 | Precomputed rotation Matrix of 180 degrees (or -180 degrees) about the Y-Axis | |
| RotationY270 | Precomputed rotation Matrix of 270 degrees (or -90 degrees) about the Y-Axis | |
| RotationY360 | Equivalent to Identity | |
| RotationY90 | Precomputed rotation Matrix of 90 degrees (or -270 degrees) about the Y-Axis | |
| RotationZ0 | Equivalent to Identity | |
| RotationZ180 | Precomputed rotation Matrix of 180 degrees (or -180 degrees) about the Y-Axis | |
| RotationZ270 | Precomputed rotation Matrix of 270 degrees (or -90 degrees) about the Z-Axis | |
| RotationZ360 | Equivalent to Identity | |
| RotationZ90 | Precomputed rotation Matrix of 90 degrees (or -270 degrees) about the Z-Axis | |
| Zero | A Matrix with all of its components set to zero. |