d3dx8: Implement the C++ stuff of the D3DXVECTOR4 structure.
This commit is contained in:
parent
d320460765
commit
dca53f1890
@ -96,6 +96,32 @@ typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
|
|||||||
|
|
||||||
typedef struct D3DXVECTOR4
|
typedef struct D3DXVECTOR4
|
||||||
{
|
{
|
||||||
|
#ifdef __cplusplus
|
||||||
|
D3DXVECTOR4();
|
||||||
|
D3DXVECTOR4(CONST FLOAT *pf);
|
||||||
|
D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
|
||||||
|
|
||||||
|
operator FLOAT* ();
|
||||||
|
operator CONST FLOAT* () const;
|
||||||
|
|
||||||
|
D3DXVECTOR4& operator += (CONST D3DXVECTOR4&);
|
||||||
|
D3DXVECTOR4& operator -= (CONST D3DXVECTOR4&);
|
||||||
|
D3DXVECTOR4& operator *= (FLOAT);
|
||||||
|
D3DXVECTOR4& operator /= (FLOAT);
|
||||||
|
|
||||||
|
D3DXVECTOR4 operator + () const;
|
||||||
|
D3DXVECTOR4 operator - () const;
|
||||||
|
|
||||||
|
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;
|
||||||
|
#endif /* __cplusplus */
|
||||||
FLOAT x, y, z, w;
|
FLOAT x, y, z, w;
|
||||||
} D3DXVECTOR4, *LPD3DXVECTOR4;
|
} D3DXVECTOR4, *LPD3DXVECTOR4;
|
||||||
|
|
||||||
|
@ -236,6 +236,118 @@ inline BOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
|
|||||||
return x != v.x || y != v.y || z != v.z;
|
return x != v.x || y != v.y || z != v.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4::D3DXVECTOR4()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4::D3DXVECTOR4(CONST FLOAT *pf)
|
||||||
|
{
|
||||||
|
if(!pf) return;
|
||||||
|
x = pf[0];
|
||||||
|
y = pf[1];
|
||||||
|
z = pf[2];
|
||||||
|
w = pf[3];
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4::D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw)
|
||||||
|
{
|
||||||
|
x = fx;
|
||||||
|
y = fy;
|
||||||
|
z = fz;
|
||||||
|
w = fw;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4::operator FLOAT* ()
|
||||||
|
{
|
||||||
|
return (FLOAT*)&x;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4::operator CONST FLOAT* () const
|
||||||
|
{
|
||||||
|
return (CONST FLOAT*)&x;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4& D3DXVECTOR4::operator += (CONST D3DXVECTOR4& v)
|
||||||
|
{
|
||||||
|
x += v.x;
|
||||||
|
y += v.y;
|
||||||
|
z += v.z;
|
||||||
|
w += v.w;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4& D3DXVECTOR4::operator -= (CONST D3DXVECTOR4& v)
|
||||||
|
{
|
||||||
|
x -= v.x;
|
||||||
|
y -= v.y;
|
||||||
|
z -= v.z;
|
||||||
|
w -= v.w;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4& D3DXVECTOR4::operator *= (FLOAT f)
|
||||||
|
{
|
||||||
|
x *= f;
|
||||||
|
y *= f;
|
||||||
|
z *= f;
|
||||||
|
w *= f;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4& D3DXVECTOR4::operator /= (FLOAT f)
|
||||||
|
{
|
||||||
|
x /= f;
|
||||||
|
y /= f;
|
||||||
|
z /= f;
|
||||||
|
w /= f;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator + () const
|
||||||
|
{
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator - () const
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(-x, -y, -z, -w);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator + (CONST D3DXVECTOR4& v) const
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(x + v.x, y + v.y, z + v.z, w + v.w);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator - (CONST D3DXVECTOR4& v) const
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(x - v.x, y - v.y, z - v.z, w - v.w);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator * (FLOAT f) const
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(x * f, y * f, z * f, w * f);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 D3DXVECTOR4::operator / (FLOAT f) const
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(x / f, y / f, z / f, w / f);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline D3DXVECTOR4 operator * (FLOAT f, CONST D3DXVECTOR4& v)
|
||||||
|
{
|
||||||
|
return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline BOOL D3DXVECTOR4::operator == (CONST D3DXVECTOR4& v) const
|
||||||
|
{
|
||||||
|
return x == v.x && y == v.y && z == v.z && w == v.w;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline BOOL D3DXVECTOR4::operator != (CONST D3DXVECTOR4& v) const
|
||||||
|
{
|
||||||
|
return x != v.x || y != v.y || z != v.z || w != v.w;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
/*_______________D3DXCOLOR_____________________*/
|
/*_______________D3DXCOLOR_____________________*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user