POP_MATRIX(3G)
NAME
pop_matrix − remove matrix from the top of the matrix stack.
SYNOPSIS
C SYNTAX
void pop_matrix(fildes);
int fildes;
void pop_matrix2d(fildes,xform2);
int fildes;
float xform2[3][2];
void pop_matrix3d(fildes,xform3);
int fildes;
float xform3[4][4];
FORTRAN77 SYNTAX
See Language Dependencies Below
subroutine pop_matrix(fildes)
integer*4 fildes
subroutine pop_matrix2d(fildes,xform2)
integer*4 fildes
real xform2(2,3)
subroutine pop_matrix3d(fildes,xform3)
integer*4 fildes
real xform3(4,4)
PASCAL SYNTAX
type
two_d_xform = array [1..3][1..2] of real;
three_d_xform = array [1..4][1..4] of real;
procedure pop_matrix(fildes:integer);
procedure pop_matrix2d(fildes:integer;
var xform:two_d_xform);
procedure pop_matrix3d(fildes:integer;
var xform:three_d_xform);
HP-UX COMPATIBILITY
Level: HP-UX/STANDARD
Origin: HP
DESCRIPTION
INPUT PARAMETERS
fildes
is an integer file descriptor returned by gopen when an I/O path to a graphic device is opened.
OUTPUT PARAMETERS
xform2
is a 3x2 (2-Dimensional) matrix.
xform3
is a 4x4 (3-Dimensional) matrix.
DISCUSSION
The top matrix on the matrix stack is called the current transformation matrix.
The pop_matrix procedure removes the top matrix from the matrix stack and throws it away.
The pop_matrix2d and pop_matrix3d procedures remove the top matrix from the matrix stack, concatenates it with the inverse of the current vdc-to-device unit transformation matrix and stores the result in either xform2 or xform3 . The new current transformation matrix is the next matrix on the matrix stack.
The vdc-to-device unit transformation matrix cannot be popped or replaced using matrix functions. It can be changed using vdc_extent, viewport_justification, set_p1_p2, or mapping_mode. If there is only one matrix (the vdc-to-device unit transformation matrix) in the matrix stack, pop_matrix will generate a warning.
Internally to Starbase, all matrices are maintained in 3D (4x4) form, so pop_matrix2d must shrink the current transformation matrix down before returning it.
LANGUAGE DEPENDENCIES
FORTRAN77
A transposition of array rows and columns is required due to the manner in which FORTRAN77 stores arrays.
DEFAULTS
After gopen the current transformation matrix is the vdc-to-device unit transformation matrix.
SEE ALSO
vdc_extent(3g), set_p1_p2(3g), viewport_justification(3g), mapping_mode(3g), concat_matrix(3g), push_matrix(3g).
Hewlett-Packard Company — May 11, 2021