G3*_PopMatrix

# G3*_PopMtx

## C Specification

      #include <nitro/gx/g3imm.h>
      #include <nitro/gx/g3b.h>
      #include <nitro/gx/g3c.h>

      void G3_PopMtx(int num);

      // Below are APIs for creating the display list (command list)
      void G3B_PopMtx(GXDLInfo* info, int num);
      void G3C_PopMtx(GXDLInfo* info, int num);
      void G3BS_PopMtx(GXDLInfo* info, int num);
      void G3CS_PopMtx(GXDLInfo* info, int num);

## Arguments

info | Command List Information
num | Pop number

## Return Values

None.

## Description

This function pops the current matrix from the stack. `num` specifies the pop number and takes a value between -30 to 31. The `num`th matrix from the stack point in the matrix stack specified in matrix mode is popped and set as the current matrix. When the matrix mode is set to `Projection`, there is only one level in the stack, so `num` is reset to `1` regardless of the value. `G3X_IsMtxStackOverflow` can be used to check whether or not the matrix stack resulting from the pop has underflowed. However, because the position coordinate matrix stack and the directional vector matrix are connected, operations are performed on both stacks when the matrix mode is set to either Position or Position-Vector simultaneous set mode. The current stack level can be obtained with `G3X_GetMtxStackLevelPV` or `G3X_GetMtxStackLevelPJ`

## See Also

`G3*_MtxMode, G3*_Identity, G3*_LoadMtx43, G3*_LoadMtx44, G3*_MultMtx43, G3*_MultMtx44, G3*_MultMtx33, G3*_PushMtx, G3*_StoreMtx, G3*_RestoreMtx, G3*_Scale, G3*_Translate`

## Revision History

01/19/2004 Initial version

CONFIDENTIAL