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.