Partilhar via


Estrutura D3DXMATRIX (D3dx9math.h)

Observação

A biblioteca de utilitários D3DX foi preterida. Em vez disso, recomendamos que você use DirectXMath .

Uma matriz 4x4 que contém métodos e sobrecargas de operador.

Sintaxe

typedef struct D3DXMATRIX {
  FLOAT _ij;
} D3DXMATRIX, *LPD3DXMATRIX;

Membros

_Ij

Tipo: FLOAT

O componente (i, j) da matriz, em que i é o número da linha e j é o número da coluna. Por exemplo, _34 significa o mesmo que [a₃₄], o componente na terceira linha e quarta coluna.

Comentários

Os programadores C não podem usar a estrutura D3DXMATRIX, eles devem usar a estrutura D3DMATRIX . Os programadores C++ podem aproveitar os construtores sobrecarregados e os operadores de atribuição, unário e binário (incluindo igualdade).

No D3DX, o elemento _34 de uma matriz de projeção não pode ser um número negativo. Se o aplicativo precisar usar um valor negativo nesse local, ele deverá dimensionar toda a matriz de projeção em -1.

D3DXMATRIX Extensions

D3DXMATRIX tem as seguintes extensões C++.

#ifdef __cplusplus
typedef struct D3DXMATRIX : public D3DMATRIX
{
public:
    D3DXMATRIX() {};
    D3DXMATRIX( CONST FLOAT * );
    D3DXMATRIX( CONST D3DMATRIX& );
    D3DXMATRIX( CONST D3DXFLOAT16 * );
    D3DXMATRIX( FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,
                FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,
                FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,
                FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 );


    // access grants
    FLOAT& operator () ( UINT Row, UINT Col );
    FLOAT  operator () ( UINT Row, UINT Col ) const;

    // casting operators
    operator FLOAT* ();
    operator CONST FLOAT* () const;

    // assignment operators
    D3DXMATRIX& operator *= ( CONST D3DXMATRIX& );
    D3DXMATRIX& operator += ( CONST D3DXMATRIX& );
    D3DXMATRIX& operator -= ( CONST D3DXMATRIX& );
    D3DXMATRIX& operator *= ( FLOAT );
    D3DXMATRIX& operator /= ( FLOAT );

    // unary operators
    D3DXMATRIX operator + () const;
    D3DXMATRIX operator - () const;

    // binary operators
    D3DXMATRIX operator * ( CONST D3DXMATRIX& ) const;
    D3DXMATRIX operator + ( CONST D3DXMATRIX& ) const;
    D3DXMATRIX operator - ( CONST D3DXMATRIX& ) const;
    D3DXMATRIX operator * ( FLOAT ) const;
    D3DXMATRIX operator / ( FLOAT ) const;

    friend D3DXMATRIX operator * ( FLOAT, CONST D3DXMATRIX& );

    BOOL operator == ( CONST D3DXMATRIX& ) const;
    BOOL operator != ( CONST D3DXMATRIX& ) const;

} D3DXMATRIX, *LPD3DXMATRIX;

#else //!__cplusplus
typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
#endif //!__cplusplus

Requisitos

Requisito Valor
parâmetro
D3dx9math.h

Confira também

Estruturas D3DX

D3DMATRIX