# D3DXVECTOR4 结构 (D3dx9math.h)

D3DX 实用工具库已弃用。 建议改用 DirectXMath

## 语法

``````typedef struct D3DXVECTOR4 {
FLOAT x;
FLOAT y;
FLOAT z;
FLOAT w;
} D3DXVECTOR4, *LPD3DXVECTOR4;
``````

x

x 组件。

y

y 组件。

z

z 组件。

w

w 组件。

## 注解

### D3DXVECTOR4 扩展

D3DXVECTOR4 具有以下 C++ 扩展。

``````typedef struct D3DXVECTOR4
{
#ifdef __cplusplus
public:
D3DXVECTOR4() {};
D3DXVECTOR4( CONST FLOAT* );
D3DXVECTOR4( CONST D3DXFLOAT16 * );
D3DXVECTOR4( CONST D3DVECTOR& xyz, FLOAT w );
D3DXVECTOR4( FLOAT x, FLOAT y, FLOAT z, FLOAT w );

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

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

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

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

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

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

public:
#endif //__cplusplus
FLOAT x, y, z, w;
} D3DXVECTOR4, *LPD3DXVECTOR4;

typedef struct D3DXVECTOR4_16F
{
#ifdef __cplusplus
public:
D3DXVECTOR4_16F() {};
D3DXVECTOR4_16F( CONST FLOAT * );
D3DXVECTOR4_16F( CONST D3DXFLOAT16 * );
D3DXVECTOR4_16F( CONST D3DXVECTOR3_16F& xyz, CONST D3DXFLOAT16& w );
D3DXVECTOR4_16F( CONST D3DXFLOAT16& x, CONST D3DXFLOAT16& y, CONST D3DXFLOAT16& z, CONST D3DXFLOAT16& w );

// casting
operator D3DXFLOAT16* ();
operator CONST D3DXFLOAT16* () const;

// binary operators
BOOL operator == ( CONST D3DXVECTOR4_16F& ) const;
BOOL operator != ( CONST D3DXVECTOR4_16F& ) const;

public:
#endif //__cplusplus
D3DXFLOAT16 x, y, z, w;

} D3DXVECTOR4_16F, *LPD3DXVECTOR4_16F;

``````

D3dx9math.h

D3DX 结构