# G3*_PushMtx

## C Specification

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

      void G3_PushMtx();

      // Below are APIs for creating the display list (command list)
      void G3B_PushMtx(GXDLInfo* info);
      void G3C_PushMtx(GXDLInfo* info);
      void G3BS_PushMtx(GXDLInfo* info);
      void G3CS_PushMtx(GXDLInfo* info);

## Arguments

info | Command List Information

## Return Values

None.

## Description

This function pushes the current matrix onto the stack. 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. `G3X_IsMtxStackOverflow` can be used to check whether or not the matrix stack resulting from the push has overflowed. 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*_PopMtx, G3*_StoreMtx, G3*_RestoreMtx, G3*_Scale, G3*_Translate`

## Revision History

01/19/2004 Initial version