Newton Dynamics
4.00
ndCudaContext.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 __ND_CUDA_CONTEXT_H__
23
#define __ND_CUDA_CONTEXT_H__
24
25
#include "ndCudaStdafx.h"
26
27
class
ndCudaDevice
;
28
class
ndCudaBodyProxy
;
29
class
ndCudaSpatialVector
;
30
class
ndCudaContextImplement
;
31
32
class
ndCudaContext
33
{
34
public
:
35
D_CUDA_API
ndCudaContext
();
36
D_CUDA_API ~
ndCudaContext
();
37
38
D_CUDA_API
bool
IsValid()
const
;
39
D_CUDA_API
const
char
* GetStringId()
const
;
40
41
D_CUDA_API
void
Begin();
42
D_CUDA_API
void
End();
43
D_CUDA_API
double
GetGPUTime()
const
;
44
45
D_CUDA_API
void
ResizeBuffers(
int
size);
46
D_CUDA_API
void
LoadBodyData(
const
ndCudaBodyProxy
*
const
src,
int
size);
47
48
D_CUDA_API
void
InitBodyArray();
49
D_CUDA_API
void
UpdateTransform();
50
D_CUDA_API
void
ValidateContextBuffers();
51
52
D_CUDA_API
ndCudaSpatialVector
* GetTransformBuffer();
53
54
D_CUDA_API
void
IntegrateBodies(
float
timestep);
55
D_CUDA_API
void
IntegrateUnconstrainedBodies(
float
timestep);
56
57
ndCudaDevice
* m_device;
58
ndCudaContextImplement
* m_implement;
59
};
60
61
#endif
ndCudaSpatialVector
Definition:
ndCudaTypes.h:40
ndCudaContextImplement
Definition:
ndCudaContextImplement.h:39
ndCudaBodyProxy
Definition:
ndCudaBodyProxy.h:33
ndCudaDevice
Definition:
ndCudaDevice.h:32
ndCudaContext
Definition:
ndCudaContext.h:33
newton-dynamics
newton-4.00
sdk
dNewton
dExtensions
dCuda
dContext
ndCudaContext.h
Generated by
1.8.20