G3_PopMatrix

# G3*_PopMtx

## 構文

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

      void G3_PopMtx(int num);

      // 以下ディスプレイリスト（コマンド列）作成用API
      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);

## 引数

info | コマンドリスト情報
num | ポップ数

## 返り値

なし。

## 説明

カレント行列をスタックからポップします。num はポップ数の指定で、-30〜31 の値を設定可能です。
行列モードで指定されている行列スタックのスタックポインタ位置から num 段目の行列をポップしカレント行列として設定します。行列モードがProjection の場合は、スタックが１段しかないため、num は設定に関わらず1 と見なされます。ポップの結果、行列スタックがアンダーフローしたかどうかは、`G3X_IsMtxStackOverflow()` でチェックすることが可能です。
ただし、位置座標行列スタックと方向ベクトル行列は連動しているため、行列モードがPosition モードとPosition・Vector同時設定モードのどちらの場合でも、両方のスタックに対する操作となります。なお、 現在の行列スタックのレベルは、`G3X_GetMtxStackLevelPV(), G3X_GetMtxStackLevelPJ()` で取得することができます。

## 参照

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

## 履歴

Ver. 2004/01/19