 |
PK_TRANSF_classify_r_t |
|
struct PK_TRANSF_classify_r_s
{
PK_matrix_type_t matrix_type;
double determinant;
PK_VECTOR_t unit_rows_deviations;
PK_VECTOR_t orthog_rows_deviations;
PK_VECTOR_t translation;
PK_VECTOR_t perspective;
double scale;
};
typedef struct PK_TRANSF_classify_r_s PK_TRANSF_classify_r_t;
A structure packaging the resultant classification and diagnostics.
Used in:
PK_TRANSF_classify
PK_TRANSF_classify_r_f
The structure has the following fields :
'matrix_type' The matrix classification of the upper left 3 X 3
matrix.
'determinant' The determinant of the upper left 3 X 3 matrix.
'unit_rows_deviations' The signed deviations from 1.0 of the squared norms
of rows of the upper left 3 X 3 matrix.
'orthog_rows_deviations' The deviations from 0.0 of the dot products between
the first three rows of the upper left 3 X 3 matrix
These signed values are reported in cyclic order as
follows: if r1, r2, r3 are the first three rows, then
the order is (r1.r2, r2.r3, r3.r1).
'translation' The translation vector.
'perspective' The perspective vector.
'scale' The reciprocal of the global scale factor
corresponding to the bottom right corner entry of
the transform. Therefore a value < 1.0 indicates a
shrinking transformation and a value > 1.0 indicates
an expanding transformation.
The rows and columns in the above definitions refer to the matrix form of the
transformation as described in PK_TRANSF_sf_t.
The function PK_TRANSF_classify_r_f may be used to free associated memory.