Supplies the following operator overloads and type casts for D3DXVECTOR3 structures. The D3DXVECTOR3_16F structure provides 16-bit versions of overloads and type casts.
#ifdef __cplusplus typedef struct D3DXVECTOR3 : public D3DVECTOR { public: D3DXVECTOR3() {}; D3DXVECTOR3( CONST FLOAT * ); D3DXVECTOR3( CONST D3DVECTOR& ); D3DXVECTOR3( CONST D3DXFLOAT16 * ); D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z ); // casting operator FLOAT* (); operator CONST FLOAT* () const; // assignment operators D3DXVECTOR3& operator += ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator -= ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator *= ( FLOAT ); D3DXVECTOR3& operator /= ( FLOAT ); // unary operators D3DXVECTOR3 operator + () const; D3DXVECTOR3 operator - () const; // binary operators D3DXVECTOR3 operator + ( CONST D3DXVECTOR3& ) const; D3DXVECTOR3 operator - ( CONST D3DXVECTOR3& ) const; D3DXVECTOR3 operator * ( FLOAT ) const; D3DXVECTOR3 operator / ( FLOAT ) const; friend D3DXVECTOR3 operator * ( FLOAT, CONST struct D3DXVECTOR3& ); BOOL operator == ( CONST D3DXVECTOR3& ) const; BOOL operator != ( CONST D3DXVECTOR3& ) const; } D3DXVECTOR3, *LPD3DXVECTOR3; #else //!__cplusplus typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3; #endif //!__cplusplus typedef struct D3DXVECTOR3_16F { #ifdef __cplusplus public: D3DXVECTOR3_16F() {}; D3DXVECTOR3_16F( CONST FLOAT * ); D3DXVECTOR3_16F( CONST D3DVECTOR& ); D3DXVECTOR3_16F( CONST D3DXFLOAT16 * ); D3DXVECTOR3_16F( CONST D3DXFLOAT16 &x, CONST D3DXFLOAT16 &y, CONST D3DXFLOAT16 &z ); // casting operator D3DXFLOAT16* (); operator CONST D3DXFLOAT16* () const; // binary operators BOOL operator == ( CONST D3DXVECTOR3_16F& ) const; BOOL operator != ( CONST D3DXVECTOR3_16F& ) const; public: #endif //__cplusplus D3DXFLOAT16 x, y, z; } D3DXVECTOR3_16F, *LPD3DXVECTOR3_16F;
For more information about structure members, refer to D3DXVECTOR3.
Operator overloads and type casts for this structure are implemented in d3dx9math.inl.