Main Page
Class Hierarchy
Compound List
Compound Members
Include
particles
PxParticleReadData.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3
*
4
* NVIDIA CORPORATION and its licensors retain all intellectual property
5
* and proprietary rights in and to this software, related documentation
6
* and any modifications thereto. Any use, reproduction, disclosure or
7
* distribution of this software and related documentation without an express
8
* license agreement from NVIDIA CORPORATION is strictly prohibited.
9
*/
10
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
11
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
12
13
14
#ifndef PX_PARTICLESYSTEM_NXPARTICLEREADDATA
15
#define PX_PARTICLESYSTEM_NXPARTICLEREADDATA
16
20
#include "
foundation/PxStrideIterator.h
"
21
#include "
PxLockedData.h
"
22
#include "
foundation/PxFlags.h
"
23
#include "
PxParticleFlag.h
"
24
25
#ifndef PX_DOXYGEN
26
namespace
physx
27
{
28
#endif
29
34
struct
PxParticleReadDataFlag
35
{
36
enum
Enum
37
{
42
ePOSITION_BUFFER = (1<<0),
43
48
eVELOCITY_BUFFER = (1<<1),
49
57
eREST_OFFSET_BUFFER = (1<<2),
58
63
eFLAGS_BUFFER = (1<<3),
64
69
eCOLLISION_NORMAL_BUFFER = (1<<4),
70
75
eCOLLISION_VELOCITY_BUFFER = (1<<5),
76
81
eDENSITY_BUFFER = (1<<6)
82
};
83
};
84
90
typedef
PxFlags<PxParticleReadDataFlag::Enum,PxU16>
PxParticleReadDataFlags
;
91
PX_FLAGS_OPERATORS
(
PxParticleReadDataFlag::Enum
,
PxU16
)
92
93
98
typedef
PxFlags
<
PxParticleFlag
::Enum,
PxU16
>
PxParticleFlags
;
99
PX_FLAGS_OPERATORS
(
PxParticleFlag
::Enum,
PxU16
)
100
118
class
PxParticleReadData
: public
PxLockedData
119
{
120
public
:
121
125
PxU32
nbValidParticles
;
126
130
PxU32
validParticleRange
;
131
136
const
PxU32
*
validParticleBitmap
;
137
141
PxStrideIterator<const PxVec3>
positionBuffer
;
142
146
PxStrideIterator<const PxVec3>
velocityBuffer
;
147
151
PxStrideIterator<const PxF32>
restOffsetBuffer
;
152
156
PxStrideIterator<const PxParticleFlags>
flagsBuffer
;
157
164
PxStrideIterator<const PxVec3>
collisionNormalBuffer
;
165
173
PxStrideIterator<const PxVec3>
collisionVelocityBuffer
;
174
179
virtual
PxDataAccessFlags
getDataAccessFlags() = 0;
180
185
virtual
void
unlock() = 0;
186
190
virtual
~PxParticleReadData
() {}
191
192
};
193
194
#ifndef PX_DOXYGEN
195
}
// namespace physx
196
#endif
197
199
#endif
Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.
www.nvidia.com