Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pop_matrix(3G) — HP-UX 5.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vdc_extent(3g)

set_p1_p2(3g)

viewport_justification(3g)

mapping_mode(3g)

concat_matrix(3g)

push_matrix(3g)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026