PxParticleClothBuffer

Defined in include/PxParticleBuffer.h

class PxParticleClothBuffer : public PxParticleBuffer

A particle buffer used to simulate particle cloth.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated.

See PxPhysics::createParticleClothBuffer.

Public Functions

virtual PxVec4 *getRestPositions() = 0

Get rest positions for this particle buffer.

Returns

A pointer to a device buffer containing the rest positions packed as PxVec4(pos.x, pos.y, pos.z, 0.0f).

virtual PxU32 *getTriangles() const = 0

Get the triangle indices for this particle buffer.

Returns

A pointer to a device buffer containing the triangle indices for this cloth buffer.

virtual void setNbTriangles(PxU32 nbTriangles) = 0

Set the number of triangles for this particle buffer.

Parameters

nbTriangles[in] The number of triangles for this particle cloth buffer.

virtual PxU32 getNbTriangles() const = 0

Get the number of triangles for this particle buffer.

Returns

The number triangles for this cloth buffer.

virtual PxU32 getNbSprings() const = 0

Get the number of springs in this particle buffer.

Returns

The number of springs in this cloth buffer.

virtual PxParticleSpring *getSprings() = 0

Get the springs for this particle buffer.

Returns

A pointer to a device buffer containing the springs for this cloth buffer.

virtual void setCloths(PxPartitionedParticleCloth &cloths) = 0

Set cloths for this particle buffer.

See PxPartitionedParticleCloth, PxParticleClothPreProcessor

Parameters

cloths[in] A pointer to a PxPartitionedParticleCloth.

virtual PxVec4 *getPositionInvMasses() const = 0

Get positions and inverse masses for this particle buffer.

Returns

A pointer to a device buffer containing the positions and inverse mass packed as PxVec4(pos.x, pos.y, pos.z, inverseMass).

virtual PxVec4 *getVelocities() const = 0

Get velocities for this particle buffer.

Returns

A pointer to a device buffer containing the velocities packed as PxVec4(vel.x, vel.y, vel.z, 0.0f).

virtual PxU32 *getPhases() const = 0

Get phases for this particle buffer.

See PxParticlePhaseFlag

Returns

A pointer to a device buffer containing the per-particle phases for this particle buffer.

virtual PxParticleVolume *getParticleVolumes() const = 0

Get particle volumes for this particle buffer.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated. See PxParticleVolume

Returns

A pointer to a device buffer containing the PxParticleVolume s for this particle buffer.

virtual void setNbActiveParticles(PxU32 nbActiveParticles) = 0

Set the number of active particles for this particle buffer.

The number of active particles can be <= PxParticleBuffer::getMaxParticles(). The particle system will simulate the first x particles in the PxParticleBuffer, where x is the number of active particles.

Parameters

nbActiveParticles[in] The number of active particles.

virtual PxU32 getNbActiveParticles() const = 0

Get the number of active particles for this particle buffer.

Returns

The number of active particles.

virtual PxU32 getMaxParticles() const = 0

Get the maximum number particles this particle buffer can hold.

The maximum number of particles is specified when creating a PxParticleBuffer. See PxPhysics::createParticleBuffer.

Returns

The maximum number of particles.

virtual PxU32 getNbParticleVolumes() const = 0

Get the number of particle volumes in this particle buffer.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated.

Returns

The number of PxParticleVolume s for this particle buffer.

virtual void setNbParticleVolumes(PxU32 nbParticleVolumes) = 0

Set the number of PxParticleVolume s for this particle buffer.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated.

Parameters

nbParticleVolumes[in] The number of particle volumes in this particle buffer.

virtual PxU32 getMaxParticleVolumes() const = 0

Get the maximum number of particle volumes this particle buffer can hold.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated.

See PxParticleVolume.

Returns

The maximum number of particle volumes this particle buffer can hold.

virtual void setRigidFilters(PxParticleRigidFilterPair *filters, PxU32 nbFilters) = 0

Set the PxParticleRigidFilterPair s for collision filtering of particles in this buffer with rigid bodies.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated. See PxParticleRigidFilterPair

Parameters
  • filters[in] A device buffer containing PxParticleRigidFilterPair s.

  • nbFilters[in] The number of particle-rigid body collision filtering pairs.

virtual void setRigidAttachments(PxParticleRigidAttachment *attachments, PxU32 nbAttachments) = 0

Set the particle-rigid body attachments for particles in this particle buffer.

Deprecated:

Particle-cloth, -rigids, -attachments and -volumes have been deprecated.

See PxParticleRigidAttachment

Parameters
  • attachments[in] A device buffer containing PxParticleRigidAttachment s.

  • nbAttachments[in] The number of particle-rigid body attachments.

virtual PxU32 getFlatListStartIndex() const = 0

Get the start index for the first particle of this particle buffer in the complete list of particles of the particle system this buffer is used in.

The return value is only correct if the particle buffer is assigned to a particle system and at least one call to simulate() has been performed.

Returns

The index of the first particle in the complete particle list.

virtual void raiseFlags(PxParticleBufferFlag::Enum flags) = 0

Raise dirty flags on this particle buffer to communicate that the corresponding data has been updated by the user.

See PxParticleBufferFlag.

Parameters

flags[in] The flag corresponding to the data that is dirty.

virtual void release() = 0

Release this buffer and deallocate all the memory.

virtual PxU32 getUniqueId() const = 0

Retrieve unique index that does not change over the lifetime of a PxParticleBuffer.

virtual const char *getConcreteTypeName() const = 0

Returns string name of dynamic type.

Returns

Class name of most derived type of this object.

template<class T>
inline T *is()
template<class T>
inline const T *is() const
inline PxType getConcreteType() const

Returns concrete type of object.

See also

PxConcreteType

Returns

PxConcreteType::Enum of serialized object

inline void setBaseFlag(PxBaseFlag::Enum flag, bool value)

Set PxBaseFlag

Parameters
  • flag[in] The flag to be set

  • value[in] The flags new value

inline void setBaseFlags(PxBaseFlags inFlags)

Set PxBaseFlags

See also

PxBaseFlags

Parameters

inFlags[in] The flags to be set

inline PxBaseFlags getBaseFlags() const

Returns PxBaseFlags.

See also

PxBaseFlags

Returns

PxBaseFlags

inline virtual bool isReleasable() const

Whether the object is subordinate.

A class is subordinate, if it can only be instantiated in the context of another class.

See also

PxSerialization::isSerializable

Returns

Whether the class is subordinate

Public Members

PxU32 bufferUniqueId

Unique index that does not change over the lifetime of a PxParticleBuffer.

Deprecated:

Will be removed in a future version, use getUniqueId() instead.

void *userData

user can assign this to whatever, usually to create a 1:1 relationship with a user object.

Protected Functions

inline virtual ~PxParticleClothBuffer()
inline PxParticleClothBuffer(PxType type)
PxParticleClothBuffer(const PxParticleClothBuffer&)
PxParticleClothBuffer &operator=(const PxParticleClothBuffer&)
inline virtual bool isKindOf(const char *superClass) const

Returns whether a given type name matches with the type of this instance.

template<class T>
inline bool typeMatch() const

Protected Attributes

PxType mConcreteType
PxBaseFlags mBaseFlags
PxU32 mBuiltInRefCount