pcompose_tran_matrix3(3g) — Subroutines
Name
pcompose_tran_matrix3 − Returns a 3D homogeneous transformation matrix.
Operating States: PHOP, ∗, ∗, ∗
PHIGS standard function
Syntax
void pcompose_tran_matrix3 (
Pmatrix3 matrix_in, /∗ (I) Transformation matrix ∗/
const Ppoint3 ∗pt, /∗ (I) Fixed point ∗/
const Pvec3 ∗shift, /∗ (I) Shift vector ∗/
Pfloat x_angle, /∗ (I) x rotation angle, in radians ∗/
Pfloat y_angle, /∗ (I) y rotation angle, in radians ∗/
Pfloat z_angle, /∗ (I) z rotation angle, in radians ∗/
const Pvec3 ∗scale, /∗ (I) Scale factor vector ∗/
Pint ∗error_ind, /∗ (O) Error indicator ∗/
Pmatrix3 matrix_out /∗ (O) Modified transformation matrix ∗/
)
Data Structures
typedef Pfloat Pmatrix3[4][4];
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
Pfloat z; /∗ z coordinate ∗/
} Ppoint3;
typedef struct {
Pfloat delta_x; /∗ delta x value ∗/
Pfloat delta_y; /∗ delta y value ∗/
Pfloat delta_z; /∗ delta z value ∗/
} Pvec3;
Description
pcompose_tran_matrix3 returns a three-dimensional (4 x 4) 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_tran3 or pset_global_tran3 function.
See Also
pbuild_tran_matrix3
pcompose_matrix3
pcompose_tran_matrix
protate_x
protate_y
protate_z
pscale3
pset_global_tran3
pset_local_tran3
ptranslate3