#include "user.h"
Go to the source code of this file.
Data Structures | |
| struct | MATRIX |
Defines | |
| #define | GetM11(x) MatrixGetValue(x,MatrixM11) |
| Gets the scaling X factor of the matrix. | |
| #define | GetM12(x) MatrixGetValue(x,MatrixM12) |
| Gets the shearing X factor of the matrix. | |
| #define | GetM21(x) MatrixGetValue(x,MatrixM21) |
| Gets the shearing Y factor of the matrix. | |
| #define | GetM22(x) MatrixGetValue(x,MatrixM22) |
| Gets the scaling Y factor of the matrix. | |
| #define | GetDx(x) MatrixGetValue(x,MatrixDx) |
| Gets the X offset of the matrix. | |
| #define | GetDy(x) MatrixGetValue(x,MatrixDy) |
| Gets the Y offset of the matrix. | |
| #define | MatrixDoAppend(dst, src) MatrixMultiply(dst,dst,src) |
| Appends another matrix to this matrix. | |
| #define | MatrixDoPrepend(dst, src) MatrixMultiply(dst,src,dst) |
| Prepends another matrix to this matrix. | |
Enumerations | |
| enum | MATRIXMODE { MatrixSet = 0, MatrixAppend = 1, MatrixPrepend = 2 } |
| Specifies how a matrix is combined with another matrix. More... | |
| enum | MATRIXELEMENT { MatrixM11, MatrixM12, MatrixM21, MatrixM22, MatrixDx, MatrixDy } |
| Specifies an element of the matrix. More... | |
Functions | |
| double | MatrixDeterminant (MATRIX *mat) |
| Gets the determinant of the matrix, or the ratio by which an object transformed by this matrix changes in size. | |
| BOOL | MatrixInvert (MATRIX *matDst, MATRIX *matSrc) |
| Inverts _matSrc_ and stores the result in _matDst_. | |
| BOOL | MatrixIsInvertible (MATRIX *mat) |
| Determines whether the matrix can be inverted. | |
| BOOL | MatrixIsIdentity (MATRIX *mat) |
| Determines whether the matrix equals the identity matrix. | |
| void | MatrixSetIdentity (MATRIX *mat) |
| Sets this matrix to the identity matrix. | |
| BOOL | MatrixEquals (MATRIX *mat, MATRIX *mat2) |
| Determines whether the matrix equals another matrix. | |
| BOOL | MatrixAreClose (MATRIX *mat, MATRIX *mat2) |
| Determines whether the matrix is close to another matrix. | |
| void | MatrixTransformVectors (MATRIX *mat, double *pts, DWORD numpts) |
| Transforms an array of distance vectors using the specified matrix, ignoring the translation components of the matrix. | |
| void | MatrixTransformPoints (MATRIX *mat, double *pts, DWORD numpts) |
| Transforms an array of points using the specified matrix. | |
| double | MatrixGetValue (MATRIX *mat, MATRIXELEMENT elem) |
| Gets a matrix element from the matrix. | |
| BOOL | MatrixSetValue (MATRIX *mat, MATRIXELEMENT elem, double value) |
| Sets a matrix element in the matrix to _value_. | |
| BOOL | MatrixGetValueArray (MATRIX *mat, double *values) |
| Gets the elements in the matrix. | |
| BOOL | MatrixSetValueArray (MATRIX *mat, double *values) |
| Sets all elements in the matrix at once. | |
| void | MatrixSetValues (MATRIX *mat, double m11, double m12, double m21, double m22, double dx, double dy) |
| Sets all elements in the matrix at once. | |
| void | MatrixMultiply (MATRIX *matResult, MATRIX *matLeft, MATRIX *matRight) |
| Multiplies two matrices (matLeft and matRight) and stores the result in matResult. | |
| void | MatrixTranslate (MATRIX *mat, double x, double y, MATRIXMODE mode) |
| Adds a translation transform to the matrix. | |
| void | MatrixScale (MATRIX *mat, double x, double y, MATRIXMODE mode) |
| Adds a scaling transform to this matrix. | |
| void | MatrixRotate (MATRIX *mat, double degrees, MATRIXMODE mode) |
| Adds a rotation to this matrix. | |
| void | MatrixParallelogram (MATRIX *mat, double *rect, double *points, MATRIXMODE mode) |
| Adds a transform to this matrix based on the conversion of a rectangle to a parallelogram. | |
| void | MatrixRotateAt (MATRIX *mat, double degrees, double x, double y, MATRIXMODE mode) |
| Adds a rotation to this matrix with the specified origin. | |
| void | MatrixScaleAt (MATRIX *mat, double x, double y, double centerX, double centerY, MATRIXMODE mode) |
| Adds a scaling transform to this matrix with the specified origin. | |
| void | MatrixShear (MATRIX *mat, double shearX, double shearY, MATRIXMODE mode) |
| Adds a shear transform to the matrix. | |
| void | MatrixSkew (MATRIX *mat, double angleX, double angleY, MATRIXMODE mode) |
| Adds a skew transform to the matrix. | |
|
|
Gets the X offset of the matrix.
|
|
|
Gets the Y offset of the matrix.
|
|
|
Gets the scaling X factor of the matrix.
|
|
|
Gets the shearing X factor of the matrix.
|
|
|
Gets the shearing Y factor of the matrix.
|
|
|
Gets the scaling Y factor of the matrix.
|
|
|
Appends another matrix to this matrix. This operation is similar to Java's _preConcatenate_ method. |
|
|
Prepends another matrix to this matrix. This operation is similar to Java's _concatenate_ method. |
|
|
Specifies an element of the matrix.
|
|
|
Specifies how a matrix is combined with another matrix.
|
|
||||||||||||
|
Determines whether the matrix is close to another matrix.
|
|
|
Gets the determinant of the matrix, or the ratio by which an object transformed by this matrix changes in size. If this value equals 0, then the matrix is one that maps coordinates to a single point or line and can't be inverted. |
|
||||||||||||
|
Determines whether the matrix equals another matrix.
|
|
||||||||||||
|
Gets a matrix element from the matrix.
|
|
||||||||||||
|
Gets the elements in the matrix.
|
|
||||||||||||
|
Inverts _matSrc_ and stores the result in _matDst_. The inverted matrix, when combined with the source matrix, results in the identity matrix.
|
|
|
Determines whether the matrix equals the identity matrix.
|
|
|
Determines whether the matrix can be inverted. A matrix is invertible if its determinant is not equal to 0. |
|
||||||||||||||||
|
Multiplies two matrices (matLeft and matRight) and stores the result in matResult.
|
|
||||||||||||||||||||
|
Adds a transform to this matrix based on the conversion of a rectangle to a parallelogram.
|
|
||||||||||||||||
|
Adds a rotation to this matrix.
|
|
||||||||||||||||||||||||
|
Adds a rotation to this matrix with the specified origin.
|
|
||||||||||||||||||||
|
Adds a scaling transform to this matrix.
|
|
||||||||||||||||||||||||||||
|
Adds a scaling transform to this matrix with the specified origin.
|
|
|
Sets this matrix to the identity matrix.
|
|
||||||||||||||||
|
Sets a matrix element in the matrix to _value_.
|
|
||||||||||||
|
Sets all elements in the matrix at once.
|
|
||||||||||||||||||||||||||||||||
|
Sets all elements in the matrix at once.
|
|
||||||||||||||||||||
|
Adds a shear transform to the matrix.
|
|
||||||||||||||||||||
|
Adds a skew transform to the matrix.
|
|
||||||||||||||||
|
Transforms an array of points using the specified matrix. See also MatrixTransformVectors().
|
|
||||||||||||||||
|
Transforms an array of distance vectors using the specified matrix, ignoring the translation components of the matrix. See also MatrixTransformPoints().
|
|
||||||||||||||||||||
|
Adds a translation transform to the matrix.
|
1.4.6-NO