Skip to content

Commit fb43a89

Browse files
committed
DirectXMath 3.05
1 parent 27f790e commit fb43a89

9 files changed

+3355
-5786
lines changed

Inc/DirectXCollision.h

+44-44
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ struct BoundingSphere
5757
// Methods
5858
BoundingSphere& operator=( _In_ const BoundingSphere& sp ) { Center = sp.Center; Radius = sp.Radius; return *this; }
5959

60-
void Transform( _Out_ BoundingSphere& Out, _In_ CXMMATRIX M ) const;
61-
void Transform( _Out_ BoundingSphere& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
60+
void XM_CALLCONV Transform( _Out_ BoundingSphere& Out, _In_ FXMMATRIX M ) const;
61+
void XM_CALLCONV Transform( _Out_ BoundingSphere& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
6262
// Transform the sphere
6363

64-
ContainmentType Contains( _In_ FXMVECTOR Point ) const;
65-
ContainmentType Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
64+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR Point ) const;
65+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
6666
ContainmentType Contains( _In_ const BoundingSphere& sh ) const;
6767
ContainmentType Contains( _In_ const BoundingBox& box ) const;
6868
ContainmentType Contains( _In_ const BoundingOrientedBox& box ) const;
@@ -73,17 +73,17 @@ struct BoundingSphere
7373
bool Intersects( _In_ const BoundingOrientedBox& box ) const;
7474
bool Intersects( _In_ const BoundingFrustum& fr ) const;
7575

76-
bool Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
76+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
7777
// Triangle-sphere test
7878

79-
PlaneIntersectionType Intersects( _In_ FXMVECTOR Plane ) const;
79+
PlaneIntersectionType XM_CALLCONV Intersects( _In_ FXMVECTOR Plane ) const;
8080
// Plane-sphere test
8181

82-
bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
82+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
8383
// Ray-sphere test
8484

85-
ContainmentType ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
86-
_In_ GXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 ) const;
85+
ContainmentType XM_CALLCONV ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
86+
_In_ GXMVECTOR Plane3, _In_ HXMVECTOR Plane4, _In_ HXMVECTOR Plane5 ) const;
8787
// Test sphere against six planes (see BoundingFrustum::GetPlanes)
8888

8989
// Static methods
@@ -117,14 +117,14 @@ struct BoundingBox
117117
// Methods
118118
BoundingBox& operator=( _In_ const BoundingBox& box) { Center = box.Center; Extents = box.Extents; return *this; }
119119

120-
void Transform( _Out_ BoundingBox& Out, _In_ CXMMATRIX M ) const;
121-
void Transform( _Out_ BoundingBox& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
120+
void XM_CALLCONV Transform( _Out_ BoundingBox& Out, _In_ FXMMATRIX M ) const;
121+
void XM_CALLCONV Transform( _Out_ BoundingBox& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
122122

123123
void GetCorners( _Out_writes_(8) XMFLOAT3* Corners ) const;
124124
// Gets the 8 corners of the box
125125

126-
ContainmentType Contains( _In_ FXMVECTOR Point ) const;
127-
ContainmentType Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
126+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR Point ) const;
127+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
128128
ContainmentType Contains( _In_ const BoundingSphere& sh ) const;
129129
ContainmentType Contains( _In_ const BoundingBox& box ) const;
130130
ContainmentType Contains( _In_ const BoundingOrientedBox& box ) const;
@@ -135,25 +135,25 @@ struct BoundingBox
135135
bool Intersects( _In_ const BoundingOrientedBox& box ) const;
136136
bool Intersects( _In_ const BoundingFrustum& fr ) const;
137137

138-
bool Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
138+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
139139
// Triangle-Box test
140140

141-
PlaneIntersectionType Intersects( _In_ FXMVECTOR Plane ) const;
141+
PlaneIntersectionType XM_CALLCONV Intersects( _In_ FXMVECTOR Plane ) const;
142142
// Plane-box test
143143

144-
bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
144+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
145145
// Ray-Box test
146146

147-
ContainmentType ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
148-
_In_ GXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 ) const;
147+
ContainmentType XM_CALLCONV ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
148+
_In_ GXMVECTOR Plane3, _In_ HXMVECTOR Plane4, _In_ HXMVECTOR Plane5 ) const;
149149
// Test box against six planes (see BoundingFrustum::GetPlanes)
150150

151151
// Static methods
152152
static void CreateMerged( _Out_ BoundingBox& Out, _In_ const BoundingBox& b1, _In_ const BoundingBox& b2 );
153153

154154
static void CreateFromSphere( _Out_ BoundingBox& Out, _In_ const BoundingSphere& sh );
155155

156-
static void CreateFromPoints( _Out_ BoundingBox& Out, _In_ FXMVECTOR pt1, _In_ FXMVECTOR pt2 );
156+
static void XM_CALLCONV CreateFromPoints( _Out_ BoundingBox& Out, _In_ FXMVECTOR pt1, _In_ FXMVECTOR pt2 );
157157
static void CreateFromPoints( _Out_ BoundingBox& Out, _In_ size_t Count,
158158
_In_reads_bytes_(sizeof(XMFLOAT3)+Stride*(Count-1)) const XMFLOAT3* pPoints, _In_ size_t Stride );
159159
};
@@ -182,14 +182,14 @@ struct BoundingOrientedBox
182182
// Methods
183183
BoundingOrientedBox& operator=( _In_ const BoundingOrientedBox& box ) { Center = box.Center; Extents = box.Extents; Orientation = box.Orientation; return *this; }
184184

185-
void Transform( _Out_ BoundingOrientedBox& Out, _In_ CXMMATRIX M ) const;
186-
void Transform( _Out_ BoundingOrientedBox& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
185+
void XM_CALLCONV Transform( _Out_ BoundingOrientedBox& Out, _In_ FXMMATRIX M ) const;
186+
void XM_CALLCONV Transform( _Out_ BoundingOrientedBox& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
187187

188188
void GetCorners( _Out_writes_(8) XMFLOAT3* Corners ) const;
189189
// Gets the 8 corners of the box
190190

191-
ContainmentType Contains( _In_ FXMVECTOR Point ) const;
192-
ContainmentType Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
191+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR Point ) const;
192+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
193193
ContainmentType Contains( _In_ const BoundingSphere& sh ) const;
194194
ContainmentType Contains( _In_ const BoundingBox& box ) const;
195195
ContainmentType Contains( _In_ const BoundingOrientedBox& box ) const;
@@ -200,17 +200,17 @@ struct BoundingOrientedBox
200200
bool Intersects( _In_ const BoundingOrientedBox& box ) const;
201201
bool Intersects( _In_ const BoundingFrustum& fr ) const;
202202

203-
bool Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
203+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
204204
// Triangle-OrientedBox test
205205

206-
PlaneIntersectionType Intersects( _In_ FXMVECTOR Plane ) const;
206+
PlaneIntersectionType XM_CALLCONV Intersects( _In_ FXMVECTOR Plane ) const;
207207
// Plane-OrientedBox test
208208

209-
bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
209+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
210210
// Ray-OrientedBox test
211211

212-
ContainmentType ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
213-
_In_ GXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 ) const;
212+
ContainmentType XM_CALLCONV ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
213+
_In_ GXMVECTOR Plane3, _In_ HXMVECTOR Plane4, _In_ HXMVECTOR Plane5 ) const;
214214
// Test OrientedBox against six planes (see BoundingFrustum::GetPlanes)
215215

216216
// Static methods
@@ -256,14 +256,14 @@ struct BoundingFrustum
256256
TopSlope=fr.TopSlope; BottomSlope=fr.BottomSlope;
257257
Near=fr.Near; Far=fr.Far; return *this; }
258258

259-
void Transform( _Out_ BoundingFrustum& Out, _In_ CXMMATRIX M ) const;
260-
void Transform( _Out_ BoundingFrustum& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
259+
void XM_CALLCONV Transform( _Out_ BoundingFrustum& Out, _In_ FXMMATRIX M ) const;
260+
void XM_CALLCONV Transform( _Out_ BoundingFrustum& Out, _In_ float Scale, _In_ FXMVECTOR Rotation, _In_ FXMVECTOR Translation ) const;
261261

262262
void GetCorners( _Out_writes_(8) XMFLOAT3* Corners ) const;
263263
// Gets the 8 corners of the frustum
264264

265-
ContainmentType Contains( _In_ FXMVECTOR Point ) const;
266-
ContainmentType Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
265+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR Point ) const;
266+
ContainmentType XM_CALLCONV Contains( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
267267
ContainmentType Contains( _In_ const BoundingSphere& sp ) const;
268268
ContainmentType Contains( _In_ const BoundingBox& box ) const;
269269
ContainmentType Contains( _In_ const BoundingOrientedBox& box ) const;
@@ -275,44 +275,44 @@ struct BoundingFrustum
275275
bool Intersects( _In_ const BoundingOrientedBox& box ) const;
276276
bool Intersects( _In_ const BoundingFrustum& fr ) const;
277277

278-
bool Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
278+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2 ) const;
279279
// Triangle-Frustum test
280280

281-
PlaneIntersectionType Intersects( _In_ FXMVECTOR Plane ) const;
281+
PlaneIntersectionType XM_CALLCONV Intersects( _In_ FXMVECTOR Plane ) const;
282282
// Plane-Frustum test
283283

284-
bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
284+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;
285285
// Ray-Frustum test
286286

287-
ContainmentType ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
288-
_In_ GXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 ) const;
287+
ContainmentType XM_CALLCONV ContainedBy( _In_ FXMVECTOR Plane0, _In_ FXMVECTOR Plane1, _In_ FXMVECTOR Plane2,
288+
_In_ GXMVECTOR Plane3, _In_ HXMVECTOR Plane4, _In_ HXMVECTOR Plane5 ) const;
289289
// Test frustum against six planes (see BoundingFrustum::GetPlanes)
290290

291291
void GetPlanes( _Out_opt_ XMVECTOR* NearPlane, _Out_opt_ XMVECTOR* FarPlane, _Out_opt_ XMVECTOR* RightPlane,
292292
_Out_opt_ XMVECTOR* LeftPlane, _Out_opt_ XMVECTOR* TopPlane, _Out_opt_ XMVECTOR* BottomPlane ) const;
293293
// Create 6 Planes representation of Frustum
294294

295295
// Static methods
296-
static void CreateFromMatrix( _Out_ BoundingFrustum& Out, _In_ CXMMATRIX Projection );
296+
static void XM_CALLCONV CreateFromMatrix( _Out_ BoundingFrustum& Out, _In_ FXMMATRIX Projection );
297297
};
298298

299299
//-----------------------------------------------------------------------------
300300
// Triangle intersection testing routines.
301301
//-----------------------------------------------------------------------------
302302
namespace TriangleTests
303303
{
304-
bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _In_ FXMVECTOR V0, _In_ GXMVECTOR V1, _In_ CXMVECTOR V2, _Out_ float& Dist );
304+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _In_ FXMVECTOR V0, _In_ GXMVECTOR V1, _In_ HXMVECTOR V2, _Out_ float& Dist );
305305
// Ray-Triangle
306306

307-
bool Intersects( _In_ FXMVECTOR A0, _In_ FXMVECTOR A1, _In_ FXMVECTOR A2, _In_ GXMVECTOR B0, _In_ CXMVECTOR B1, _In_ CXMVECTOR B2 );
307+
bool XM_CALLCONV Intersects( _In_ FXMVECTOR A0, _In_ FXMVECTOR A1, _In_ FXMVECTOR A2, _In_ GXMVECTOR B0, _In_ HXMVECTOR B1, _In_ HXMVECTOR B2 );
308308
// Triangle-Triangle
309309

310-
PlaneIntersectionType Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2, _In_ GXMVECTOR Plane );
310+
PlaneIntersectionType XM_CALLCONV Intersects( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2, _In_ GXMVECTOR Plane );
311311
// Plane-Triangle
312312

313-
ContainmentType ContainedBy( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2,
314-
_In_ GXMVECTOR Plane0, _In_ CXMVECTOR Plane1, _In_ CXMVECTOR Plane2,
315-
_In_ CXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 );
313+
ContainmentType XM_CALLCONV ContainedBy( _In_ FXMVECTOR V0, _In_ FXMVECTOR V1, _In_ FXMVECTOR V2,
314+
_In_ GXMVECTOR Plane0, _In_ HXMVECTOR Plane1, _In_ HXMVECTOR Plane2,
315+
_In_ CXMVECTOR Plane3, _In_ CXMVECTOR Plane4, _In_ CXMVECTOR Plane5 );
316316
// Test a triangle against six planes at once (see BoundingFrustum::GetPlanes)
317317
};
318318

0 commit comments

Comments
 (0)