PK_TRANSF_transform_2   

PK_ERROR_code_t                PK_TRANSF_transform_2
(
--- received arguments ---
PK_TRANSF_t                    transf_1, --- first transformation
PK_TRANSF_t                    transf_2, --- second transformation
const PK_TRANSF_transform_o_t *options,  --- options

--- returned arguments ---
PK_TRANSF_transform_r_t *const results   --- results
)


This function applies a transform to another transform.


The returned 'transf_out' is the result of applying 'transf_2' to 'transf_1'.
By default, this is the result of multiplying 'transf_1' by 'transf_2'. If used
to transform an entity, 'transf_out' has the same effect as firstly
transforming the entity by 'transf_1' and then secondly by 'transf_2'.

Other operations are available via the 'operation_1' and 'operation_2' options.
If 'transf_1' and 'transf_2' are represented by A and B respectively, then the
resultant combined transform is given by the following table:

operation_1 | operation_2 | Result
----------------------------------
none        | none        | B.A
none        | invert      | (B^-1).A
invert      | none        | B.(A^-1)
invert      | invert      | (B^-1).(A^-1)

The returned 'transf_out' will be a copy, unless 'modify' is set to
PK_LOGICAL_true, in which case it will be equal to 'transf_1' (i.e., the
supplied 'transf_1' will be modified).