 |
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).