Platform SDK: DirectX

D3DMATRIX (D3D_OVERLOADS)

D3DMATRIX 構造体の D3D_OVERLOADS 実装には、かっこ ("()") 演算子が含まれている。この演算子は、C++ プログラマに対して行列中の値にアクセスする便利な方法を提供する。C++ では、構造体のメンバの参照は、名前ではなく行および列番号で行うことができ、必要に応じてそれらの番号をインデックスとして使用できる。

typedef struct _D3DMATRIX {
#if (defined __cplusplus) && (defined D3D_OVERLOADS)
    union {
        struct {
#endif
 
            D3DVALUE        _11, _12, _13, _14;
            D3DVALUE        _21, _22, _23, _24;
            D3DVALUE        _31, _32, _33, _34;
            D3DVALUE        _41, _42, _43, _44;
 
#if (defined __cplusplus) && (defined D3D_OVERLOADS)
        };
        D3DVALUE m[4][4];
    };
    _D3DMATRIX() { }
 
    D3DVALUE& operator()(int iRow, int iColumn) { return m[iRow][iColumn]; }
    const D3DVALUE& operator()(int iRow, int iColumn) const { return m[iRow][iColumn]; }
#endif
} D3DMATRIX, *LPD3DMATRIX;

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 5.0 以降が必要。
  ヘッダー : d3d.h で宣言。

参照

D3DMATRIX