pcompose_tran_matrix(3g) — Subroutines
Name
pcompose_tran_matrix − Returns a 2D homogeneous transformation matrix.
Operating States: PHOP, ∗, ∗, ∗
PHIGS standard function
Syntax
void pcompose_tran_matrix (
Pmatrix matrix_in, /∗ (I) Transformation matrix ∗/
const Ppoint ∗pt, /∗ (I) Fixed point ∗/
const Pvec ∗shift, /∗ (I) Shift vector ∗/
Pfloat angle, /∗ (I) Rotation angle, in radians ∗/
const Pvec ∗scale, /∗ (I) Scale factor vector ∗/
Pint ∗error_ind, /∗ (O) Error indicator ∗/
Pmatrix matrix_out /∗ (O) Modified transformation matrix ∗/
)
Data Structures
typedef Pfloat Pmatrix[3][3];
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
} Ppoint;
typedef struct {
Pfloat delta_x; /∗ delta x value ∗/
Pfloat delta_y; /∗ delta y value ∗/
} Pvec;
Description
pcompose_tran_matrix returns a two-dimensional (3 x 3) homogeneous transformation matrix. Digital PHIGS multiplies the input matrix (A) times the resultant transformation matrix (R) from the specified fixed point, shift, scale values, and rotations. The result is A x R. The order of the transformation is as follows:
1Scale (relative to the specified fixed point)
2Rotate (relative to the specified fixed point)
3Shift (move)
To store a matrix in a structure element, you must pass it to the pset_local_tran or pset_global_tran function.
See Also
pbuild_tran_matrix
pcompose_matrix
pcompose_tran_matrix3
protate
pscale
pset_global_tran
pset_local_tran
ptranslate