PxPBDMaterial#

Defined in include/PxPBDMaterial.h

class PxPBDMaterial : public PxBaseMaterial#

Material class to represent a set of PBD particle material properties.

Public Functions

virtual void setFriction(PxReal friction) = 0#

Sets friction.

See also

getFriction()

Parameters:

friction[in] Friction. Range: [0, PX_MAX_F32)

virtual PxReal getFriction() const = 0#

Retrieves the friction value.

See also

setFriction()

Returns:

The friction value.

virtual void setDamping(PxReal damping) = 0#

Sets velocity damping term.

See also

getDamping

Parameters:

damping[in] Velocity damping term. Range: [0, PX_MAX_F32)

virtual PxReal getDamping() const = 0#

Retrieves the velocity damping term.

See also

setDamping()

Returns:

The velocity damping term.

virtual void setAdhesion(PxReal adhesion) = 0#

Sets adhesion term.

See also

getAdhesion

Parameters:

adhesion[in] adhesion coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getAdhesion() const = 0#

Retrieves the adhesion term.

See also

setAdhesion()

Returns:

The adhesion term.

virtual void setGravityScale(PxReal scale) = 0#

Sets gravity scale term.

See also

getAdhesion

Parameters:

scale[in] gravity scale coefficient. Range: (-PX_MAX_F32, PX_MAX_F32)

virtual PxReal getGravityScale() const = 0#

Retrieves the gravity scale term.

See also

setAdhesion()

Returns:

The gravity scale term.

virtual void setAdhesionRadiusScale(PxReal scale) = 0#

Sets material adhesion radius scale.

This is multiplied by the particle rest offset to compute the fall-off distance at which point adhesion ceases to operate.

Parameters:

scale[in] Material adhesion radius scale. Range: [0, PX_MAX_F32)

virtual PxReal getAdhesionRadiusScale() const = 0#

Retrieves the adhesion radius scale.

Returns:

The adhesion radius scale.

virtual void setViscosity(PxReal viscosity) = 0#

Sets viscosity.

See also

getViscosity()

Parameters:

viscosity[in] Viscosity. Range: [0, PX_MAX_F32)

virtual PxReal getViscosity() const = 0#

Retrieves the viscosity value.

See also

setViscosity()

Returns:

The viscosity value.

virtual void setVorticityConfinement(PxReal vorticityConfinement) = 0#

Sets material vorticity confinement coefficient.

Parameters:

vorticityConfinement[in] Material vorticity confinement coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getVorticityConfinement() const = 0#

Retrieves the vorticity confinement coefficient.

Returns:

The vorticity confinement coefficient.

virtual void setSurfaceTension(PxReal surfaceTension) = 0#

Sets material surface tension coefficient.

Parameters:

surfaceTension[in] Material surface tension coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getSurfaceTension() const = 0#

Retrieves the surface tension coefficient.

Returns:

The surface tension coefficient.

virtual void setCohesion(PxReal cohesion) = 0#

Sets material cohesion coefficient.

See also

getCohesion()

Parameters:

cohesion[in] Material cohesion coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getCohesion() const = 0#

Retrieves the cohesion coefficient.

See also

setCohesion()

Returns:

The cohesion coefficient.

virtual void setLift(PxReal lift) = 0#

Sets material lift coefficient.

Deprecated:

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

See also

getLift()

Parameters:

lift[in] Material lift coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getLift() const = 0#

Retrieves the lift coefficient.

Deprecated:

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

See also

setLift()

Returns:

The lift coefficient.

virtual void setDrag(PxReal drag) = 0#

Sets material drag coefficient.

Deprecated:

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

See also

getDrag()

Parameters:

drag[in] Material drag coefficient. Range: [0, PX_MAX_F32)

virtual PxReal getDrag() const = 0#

Retrieves the drag coefficient.

Deprecated:

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

See also

setDrag()

Returns:

The drag coefficient.

virtual void setCFLCoefficient(PxReal coefficient) = 0#

Sets the CFL coefficient.

Limits the relative motion between two approaching fluid particles.

The distance to which the motion is clamped is defined by CFLcoefficient*particleContactOffset*2. A value of 0.5 will thus limit the appoaching motion to a distance of particleContactOffset. A value much larger than one will typically not limit the motion of the particles.

Parameters:

coefficient[in] CFL coefficient. Range: [0, PX_MAX_F32), Default: 1.0

virtual PxReal getCFLCoefficient() const = 0#

Retrieves the CFL coefficient.

Returns:

The CFL coefficient.

virtual void setParticleFrictionScale(PxReal scale) = 0#

Sets material particle friction scale.

This allows the application to scale up/down the frictional effect between particles independent of the friction coefficient, which also defines frictional behavior between the particle and rigid bodies/soft bodies/cloth etc.

Parameters:

scale[in] particle friction scale. Range: [0, PX_MAX_F32)

virtual PxReal getParticleFrictionScale() const = 0#

Retrieves the particle friction scale.

Returns:

The particle friction scale.

virtual void setParticleAdhesionScale(PxReal adhesion) = 0#

Sets material particle adhesion scale value.

This is the adhesive value between particles defined as a scaled multiple of the adhesion parameter.

Parameters:

adhesion[in] particle adhesion scale value. Range: [0, PX_MAX_F32)

virtual PxReal getParticleAdhesionScale() const = 0#

Retrieves the particle adhesion scale value.

Returns:

The particle adhesion scale value.

inline virtual const char *getConcreteTypeName(
) const final override#

Returns string name of dynamic type.

Returns:

Class name of most derived type of this object.

virtual void release() = 0#

Decrements the reference count of the object and releases it if the new reference count is zero.

virtual PxU32 getReferenceCount() const = 0#

Returns the reference count of the object.

At creation, the reference count of the object is 1. Every other object referencing this object increments the count by 1. When the reference count reaches 0, and only then, the object gets destroyed automatically.

Returns:

the current reference count.

virtual void acquireReference() = 0#

Acquires a counted reference to this object.

This method increases the reference count of the object by 1. Decrement the reference count by calling release()

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.

Returns:

Whether the class is subordinate

Public Members

void *userData#

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

Protected Functions

inline PxPBDMaterial(PxType concreteType, PxBaseFlags baseFlags)#
inline PxPBDMaterial(PxBaseFlags baseFlags)#
inline virtual ~PxPBDMaterial()#
inline virtual bool isKindOf(const char *name) const#

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

inline virtual void onRefCountZero()#
template<class T>
inline bool typeMatch() const#

Protected Attributes

PxType mConcreteType#
PxBaseFlags mBaseFlags#
PxU32 mBuiltInRefCount#