|
Data Structures |
| struct | MATRIXINTERNAL |
Defines |
| #define | ASSERTMATRIX(x) |
Enumerations |
| enum | MATRIXFLAGS { MatrixIdentity = 0x01,
MatrixTranslation = 0x02,
MatrixScaling = 0x04,
MatrixUnknown = 0x08
} |
Functions |
| static void | AssertMatrix (MATRIX *matrix, char *file, int line) |
| BOOL | MatrixEquals (MATRIX *matrix, MATRIX *matrix2) |
| | Determines whether the matrix equals another matrix.
|
| BOOL | MatrixAreClose (MATRIX *matrix, MATRIX *matrix2) |
| | Determines whether the matrix is close to another matrix.
|
| void | MatrixTransformPoints (MATRIX *matrix, double *pts, DWORD numpts) |
| | Transforms an array of points using the specified matrix.
|
| void | MatrixTransformVectors (MATRIX *matrix, double *pts, DWORD numpts) |
| | Transforms an array of distance vectors using the specified matrix, ignoring the translation components of the matrix.
|
| double | MatrixDeterminant (MATRIX *matrix) |
| | Gets the determinant of the matrix, or the ratio by which an object transformed by this matrix changes in size.
|
| static void | MatrixUpdate (MATRIX *matrix) |
| double | MatrixGetValue (MATRIX *matrix, MATRIXELEMENT elem) |
| | Gets a matrix element from the matrix.
|
| BOOL | MatrixSetValue (MATRIX *matrix, MATRIXELEMENT elem, double value) |
| | Sets a matrix element in the matrix to _value_.
|
| BOOL | MatrixGetValueArray (MATRIX *matrix, double *values) |
| | Gets the elements in the matrix.
|
| BOOL | MatrixSetValueArray (MATRIX *matrix, double *values) |
| | Sets all elements in the matrix at once.
|
| BOOL | MatrixIsInvertible (MATRIX *matrix) |
| | Determines whether the matrix can be inverted.
|
| BOOL | MatrixInvert (MATRIX *matrixDst, MATRIX *matrixSrc) |
| | Inverts _matSrc_ and stores the result in _matDst_.
|
| BOOL | MatrixIsIdentity (MATRIX *matrix) |
| | Determines whether the matrix equals the identity matrix.
|
| void | MatrixSetIdentity (MATRIX *matrix) |
| | Sets this matrix to the identity matrix.
|
| void | MatrixSetValues (MATRIX *matrix, double m11, double m12, double m21, double m22, double dx, double dy) |
| | Sets all elements in the matrix at once.
|
| static void | DebugOutMatrixInternal (MATRIXINTERNAL *mat) |
| void | MatrixMultiply (MATRIX *matrixResult, MATRIX *matrixLeft, MATRIX *matrixRight) |
| | Multiplies two matrices (matLeft and matRight) and stores the result in matResult.
|
| static void | MatrixApply (MATRIX *matrix, MATRIXINTERNAL *matSrc, MATRIXMODE mode) |
| void | MatrixTranslate (MATRIX *matrix, double x, double y, MATRIXMODE mode) |
| | Adds a translation transform to the matrix.
|
| void | MatrixRotate (MATRIX *matrix, double degrees, MATRIXMODE mode) |
| | Adds a rotation to this matrix.
|
| void | MatrixRotateAt (MATRIX *matrix, double degrees, double x, double y, MATRIXMODE mode) |
| | Adds a rotation to this matrix with the specified origin.
|
| void | MatrixScale (MATRIX *matrix, double x, double y, MATRIXMODE mode) |
| | Adds a scaling transform to this matrix.
|
| void | MatrixScaleAt (MATRIX *matrix, double x, double y, double centerX, double centerY, MATRIXMODE mode) |
| | Adds a scaling transform to this matrix with the specified origin.
|
| void | MatrixSkew (MATRIX *matrix, double angleX, double angleY, MATRIXMODE mode) |
| | Adds a skew transform to the matrix.
|
| void | MatrixShear (MATRIX *matrix, double shearX, double shearY, MATRIXMODE mode) |
| | Adds a shear transform to the matrix.
|
| void | MatrixParallelogram (MATRIX *matrix, double *rect, double *points, MATRIXMODE mode) |
| | Adds a transform to this matrix based on the conversion of a rectangle to a parallelogram.
|