ExtGpu::PxParticleRigidBufferHelper

Defined in include/extensions/PxParticleExt.h

class PxParticleRigidBufferHelper

Helper class to manage PxParticleRigidDesc buffers used for communicating particle based rigids to PxPaticleSystem.

Public Functions

virtual void release() = 0
virtual PxU32 getMaxRigids() const = 0
Returns

The maximum number of rigids this PxParticleRigidBufferHelper instance can hold.

virtual PxU32 getNumRigids() const = 0
Returns

The current number of rigids in this PxParticleRigidBufferHelper instance.

virtual PxU32 getMaxParticles() const = 0
Returns

The maximum number of particles this PxParticleRigidBufferHelper instance can hold.

virtual PxU32 getNumParticles() const = 0
Returns

The current number of particles in this PxParticleRigidBufferHelper instance.

virtual void addRigid(const PxVec3 &translation, const PxQuat &rotation, const PxReal coefficient, const PxVec4 *localPositions, const PxVec4 *localNormals, PxU32 numParticles) = 0

Adds a rigid.

Parameters
  • translation[in] The world-space location of the rigid.

  • rotation[in] The world-space rotation of the rigid.

  • coefficient[in] The stiffness of the rigid.

  • localPositions[in] The particle positions in local space.

  • localNormals[in] The surface normal for all the particles in local space. Each PxVec4 has the normal in the first 3 components and the SDF in the last component.

  • numParticles[in] The number of particles in this rigid.

virtual PxParticleRigidDesc &getParticleRigidDesc() = 0

Get the PxParticleRigidDesc for this buffer.

Returns

A PxParticleRigidDesc.

Protected Functions

inline virtual ~PxParticleRigidBufferHelper()