G3_PushMatrix

# 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);

## 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`

## Arguments

`info` | Command list information

## Return Values

None

## 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