Newton Dynamics
4.00
cuSortBodyAabbCells.h
1
/* Copyright (c) <2003-2021> <Julio Jerez, Newton Game Dynamics>
2
*
3
* This software is provided 'as-is', without any express or implied
4
* warranty. In no event will the authors be held liable for any damages
5
* arising from the use of this software.
6
*
7
* Permission is granted to anyone to use this software for any purpose,
8
* including commercial applications, and to alter it and redistribute it
9
* freely, subject to the following restrictions:
10
*
11
* 1. The origin of this software must not be misrepresented; you must not
12
* claim that you wrote the original software. If you use this software
13
* in a product, an acknowledgment in the product documentation would be
14
* appreciated but is not required.
15
*
16
* 2. Altered source versions must be plainly marked as such, and must not be
17
* misrepresented as being the original software.
18
*
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
22
#ifndef __CU_SORT_H__
23
#define __CU_SORT_H__
24
25
#include <cuda.h>
26
#include <vector_types.h>
27
#include <cuda_runtime.h>
28
#include <ndNewtonStdafx.h>
29
30
class
ndCudaContext
;
31
32
// do not change this
33
#define D_AABB_GRID_CELL_BITS 10
34
35
class
cuBodyAabbCell
36
{
37
public
:
38
union
39
{
40
struct
41
{
42
union
43
{
44
struct
45
{
46
unsigned
m_x : D_AABB_GRID_CELL_BITS;
47
unsigned
m_y : D_AABB_GRID_CELL_BITS;
48
unsigned
m_z : D_AABB_GRID_CELL_BITS;
49
};
50
unsigned
m_key;
51
};
52
unsigned
m_id;
53
};
54
long
long
m_value;
55
};
56
};
57
58
void
CudaBodyAabbCellSortBuffer(
ndCudaContext
*
const
context);
59
60
61
template
<
typename
Predicate>
62
__global__
void
XXXXXXX(Predicate GetKey)
63
{
64
unsigned
val = 0;
65
val = GetKey(val);
66
}
67
68
69
#endif
ndCudaContext
Definition:
ndCudaContext.h:33
cuBodyAabbCell
Definition:
cuSortBodyAabbCells.h:36
newton-dynamics
newton-4.00
sdk
dNewton
dExtensions
dCudaOld
cuNatives
cuSortBodyAabbCells.h
Generated by
1.8.20