Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d3204607
Commit
d3204607
authored
Nov 09, 2007
by
Tony Wasserka
Committed by
Alexandre Julliard
Nov 12, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx8: Implement the C++ stuff of the D3DXVECTOR3 structure.
parent
74750c3c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
148 additions
and
2 deletions
+148
-2
d3dx8math.h
include/d3dx8math.h
+32
-0
d3dx8math.inl
include/d3dx8math.inl
+116
-2
No files found.
include/d3dx8math.h
View file @
d3204607
/*
* Copyright (C) 2007 David Adam
* Copyright (C) 2007 Tony Wasserka
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -60,7 +61,38 @@ typedef struct D3DXVECTOR2
FLOAT
x
,
y
;
}
D3DXVECTOR2
,
*
LPD3DXVECTOR2
;
#ifdef __cplusplus
typedef
struct
D3DXVECTOR3
:
public
D3DVECTOR
{
D3DXVECTOR3
();
D3DXVECTOR3
(
CONST
FLOAT
*
pf
);
D3DXVECTOR3
(
CONST
D3DVECTOR
&
v
);
D3DXVECTOR3
(
FLOAT
fx
,
FLOAT
fy
,
FLOAT
fz
);
operator
FLOAT
*
();
operator
CONST
FLOAT
*
()
const
;
D3DXVECTOR3
&
operator
+=
(
CONST
D3DXVECTOR3
&
);
D3DXVECTOR3
&
operator
-=
(
CONST
D3DXVECTOR3
&
);
D3DXVECTOR3
&
operator
*=
(
FLOAT
);
D3DXVECTOR3
&
operator
/=
(
FLOAT
);
D3DXVECTOR3
operator
+
()
const
;
D3DXVECTOR3
operator
-
()
const
;
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
D3DXVECTOR4
{
...
...
include/d3dx8math.inl
View file @
d3204607
/*
* Copyright (C) 2007 David Adam
* Copyright (C) 2007 Tony Wasserka
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -19,8 +20,6 @@
#ifndef __D3DX8MATH_INL__
#define __D3DX8MATH_INL__
/*_______________D3DXCOLOR_____________________*/
/* constructors & operators */
#ifdef __cplusplus
...
...
@@ -124,8 +123,123 @@ inline BOOL D3DXVECTOR2::operator != (CONST D3DXVECTOR2& v) const
return x != v.x || y != v.y;
}
inline D3DXVECTOR3::D3DXVECTOR3()
{
}
inline D3DXVECTOR3::D3DXVECTOR3(CONST FLOAT *pf)
{
if(!pf) return;
x = pf[0];
y = pf[1];
z = pf[2];
}
inline D3DXVECTOR3::D3DXVECTOR3(CONST D3DVECTOR& v)
{
x = v.x;
y = v.y;
z = v.z;
}
inline D3DXVECTOR3::D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz)
{
x = fx;
y = fy;
z = fz;
}
inline D3DXVECTOR3::operator FLOAT* ()
{
return (FLOAT*)&x;
}
inline D3DXVECTOR3::operator CONST FLOAT* () const
{
return (CONST FLOAT*)&x;
}
inline D3DXVECTOR3& D3DXVECTOR3::operator += (CONST D3DXVECTOR3& v)
{
x += v.x;
y += v.y;
z += v.z;
return *this;
}
inline D3DXVECTOR3& D3DXVECTOR3::operator -= (CONST D3DXVECTOR3& v)
{
x -= v.x;
y -= v.y;
z -= v.z;
return *this;
}
inline D3DXVECTOR3& D3DXVECTOR3::operator *= (FLOAT f)
{
x *= f;
y *= f;
z *= f;
return *this;
}
inline D3DXVECTOR3& D3DXVECTOR3::operator /= (FLOAT f)
{
x /= f;
y /= f;
z /= f;
return *this;
}
inline D3DXVECTOR3 D3DXVECTOR3::operator + () const
{
return *this;
}
inline D3DXVECTOR3 D3DXVECTOR3::operator - () const
{
return D3DXVECTOR3(-x, -y, -z);
}
inline D3DXVECTOR3 D3DXVECTOR3::operator + (CONST D3DXVECTOR3& v) const
{
return D3DXVECTOR3(x + v.x, y + v.y, z + v.z);
}
inline D3DXVECTOR3 D3DXVECTOR3::operator - (CONST D3DXVECTOR3& v) const
{
return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
}
inline D3DXVECTOR3 D3DXVECTOR3::operator * (FLOAT f) const
{
return D3DXVECTOR3(x * f, y * f, z * f);
}
inline D3DXVECTOR3 D3DXVECTOR3::operator / (FLOAT f) const
{
return D3DXVECTOR3(x / f, y / f, z / f);
}
inline D3DXVECTOR3 operator * (FLOAT f, CONST D3DXVECTOR3& v)
{
return D3DXVECTOR3(f * v.x, f * v.y, f * v.z);
}
inline BOOL D3DXVECTOR3::operator == (CONST D3DXVECTOR3& v) const
{
return x == v.x && y == v.y && z == v.z;
}
inline BOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
{
return x != v.x || y != v.y || z != v.z;
}
#endif /* __cplusplus */
/*_______________D3DXCOLOR_____________________*/
static inline D3DXCOLOR* D3DXColorAdd(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
{
if ( !pout || !pc1 || !pc2 ) return NULL;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment