PxParticleReadData Class Reference
[particles (deprecated)]

Data layout descriptor for reading particle data from the SDK. (deprecated). More...

#include <PxParticleReadData.h>

Inheritance diagram for PxParticleReadData:

Inheritance graph
PxParticleFluidReadDataPxLockedData
[legend]
Collaboration diagram for PxParticleReadData:

Collaboration graph
PxLockedDataPxStrideIterator\< const PxF32 \>PxStrideIterator\< const PxParticleFlags \>PxStrideIterator\< const PxVec3 \>PxVec3
[legend]

List of all members.

Public Member Functions

virtual PxDataAccessFlags getDataAccessFlags ()=0
 Returns PxDataAccessFlag::eREADABLE, since PxParticleReadData is read only data.
virtual void unlock ()=0
 Unlocks the data.
virtual ~PxParticleReadData ()
 virtual destructor

Public Attributes

PxU32 nbValidParticles
 Number of particles (only including particles with PxParticleFlag.eVALID set).
PxU32 validParticleRange
 Index after the last valid particle (PxParticleFlag.eVALID set). Its 0 if there are no valid particles.
const PxU32validParticleBitmap
 Bitmap marking valid particle indices. The bitmap is defined between [0, (PxParticleReadData.validParticleRange-1) >> 5].
PxStrideIterator< const PxVec3positionBuffer
 Particle position data.
PxStrideIterator< const PxVec3velocityBuffer
 Particle velocity data.
PxStrideIterator< const PxF32 > restOffsetBuffer
 Particle rest offset data.
PxStrideIterator< const
PxParticleFlags
flagsBuffer
 Particle flags.
PxStrideIterator< const PxVec3collisionNormalBuffer
 Collision normals of colliding particles. The collision normal buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionNormalBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene.
PxStrideIterator< const PxVec3collisionVelocityBuffer
 Velocities of particles relative to shapes they collide with. The collision velocity buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionVelocityBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene. The collision velocity is identical to the particle velocity if the particle is not colliding.


Detailed Description

Data layout descriptor for reading particle data from the SDK. (deprecated).

PxParticleReadData is used to retrieve information about simulated particles. It can be accessed by calling PxParticleBase.lockParticleReadData().

Each particle is described by its position, velocity, a set of (PxParticleFlag) flags and information on collisions (collision normal). The particle buffers are sparse, i.e. occupied particle indices will have PxParticleFlag.eVALID set in the corresponding entry of PxParticleReadData.flagsBuffer. Alternatively valid particles can be identified with the bitmap PxParticleReadData.validParticleBitmap. If (and only if) the index range of valid particles PxParticleReadData.validParticleRange is greater 0, i.e. any particles are present, data can be read from the particle buffers. Additionally individual particle buffers can only be read if the corresponding PxParticleReadDataFlag in particleReadDataFlags is set.

The particle data buffer are defined in the range [0, PxParticleReadData.validParticleRange-1]. The bitmap words are defined in the range [0, (PxParticleReadData.validParticleRange-1) >> 5].

Deprecated:
The PhysX particle feature has been deprecated in PhysX version 3.4
See also:
PxParticleBase::lockParticleReadData()

Constructor & Destructor Documentation

virtual PxParticleReadData::~PxParticleReadData (  )  [inline, virtual]

virtual destructor


Member Function Documentation

virtual PxDataAccessFlags PxParticleReadData::getDataAccessFlags (  )  [pure virtual]

Returns PxDataAccessFlag::eREADABLE, since PxParticleReadData is read only data.

See also:
PxLockedData

Implements PxLockedData.

virtual void PxParticleReadData::unlock (  )  [pure virtual]

Unlocks the data.

See also:
PxLockedData

Implements PxLockedData.


Member Data Documentation

Collision normals of colliding particles. The collision normal buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionNormalBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene.

Velocities of particles relative to shapes they collide with. The collision velocity buffer is only guaranteed to be valid after the particle system has been simulated. Otherwise collisionVelocityBuffer.ptr() is NULL. This also applies to particle systems that are not assigned to a scene. The collision velocity is identical to the particle velocity if the particle is not colliding.

Particle flags.

Number of particles (only including particles with PxParticleFlag.eVALID set).

Particle position data.

Particle rest offset data.

Bitmap marking valid particle indices. The bitmap is defined between [0, (PxParticleReadData.validParticleRange-1) >> 5].

Note:
Might be NULL if PxParticleReadData.validParticleRange == 0.

Index after the last valid particle (PxParticleFlag.eVALID set). Its 0 if there are no valid particles.

Particle velocity data.


The documentation for this class was generated from the following file:


Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com