PxMPMMaterial
Defined in include/PxMPMMaterial.h
-
class PxMPMMaterial : public PxParticleMaterial
Material class to represent a set of MPM particle material properties.
See also
Public Functions
-
virtual void setStretchAndShearDamping(PxReal stretchAndShearDamping) = 0
Sets stretch and shear damping which dampens stretch and shear motion of MPM bodies.
The effect is comparable to viscosity for fluids.
See also
- Parameters
stretchAndShearDamping – [in] The stretch and shear damping
-
virtual PxReal getStretchAndShearDamping() const = 0
Retrieves the stretch and shear damping.
See also
- Returns
The stretch and shear damping
-
virtual void setRotationalDamping(PxReal rotationalDamping) = 0
Sets the rotational damping which dampens rotations of mpm bodies.
See also
- Parameters
rotationalDamping – [in] The rotational damping
-
virtual PxReal getRotationalDamping() const = 0
Retrieves the rotational damping.
See also
- Returns
The rotational damping
-
virtual void setDensity(PxReal density) = 0
Sets density which influences the body’s weight.
See also
- Parameters
density – [in] The material’s density
-
virtual void setMaterialModel(PxMPMMaterialModel::Enum materialModel) = 0
Sets the material model which influences interaction between MPM particles.
See also
- Parameters
materialModel – [in] The material model
-
virtual PxMPMMaterialModel::Enum getMaterialModel() const = 0
Retrieves the material model.
See also
- Returns
The material model
-
virtual void setCuttingFlags(PxMPMCuttingFlags cuttingFlags) = 0
Sets the cutting flags which can enable damage tracking or thin blade support.
See also
- Parameters
cuttingFlags – [in] The cutting flags
-
virtual PxMPMCuttingFlags getCuttingFlags() const = 0
Retrieves the cutting flags.
See also
- Returns
The cutting flags
-
virtual void setSandFrictionAngle(PxReal sandFrictionAngle) = 0
Sets the sand friction angle, only applied if the material model is set to sand.
See also
- Parameters
sandFrictionAngle – [in] The sand friction angle
-
virtual PxReal getSandFrictionAngle() const = 0
Retrieves the sand friction angle.
See also
- Returns
The sand friction angle
-
virtual void setYieldStress(PxReal yieldStress) = 0
Sets the yield stress, only applied if the material model is set to Von Mises.
See also
- Parameters
yieldStress – [in] The yield stress
-
virtual PxReal getYieldStress() const = 0
Retrieves the yield stress.
See also
- Returns
The yield stress
-
virtual void setIsPlastic(bool isPlastic) = 0
Set material to plastic.
See also
- Parameters
isPlastic – [in] True if plastic
-
virtual bool getIsPlastic() const = 0
Returns true if material is plastic.
See also
- Returns
True if plastic
-
virtual void setYoungsModulus(PxReal young) = 0
Sets Young’s modulus which defines the body’s stiffness.
See also
- Parameters
young – [in] Young’s modulus. Range: [0, PX_MAX_F32)
-
virtual PxReal getYoungsModulus() const = 0
Retrieves the Young’s modulus value.
See also
- Returns
The Young’s modulus value.
-
virtual void setPoissons(PxReal poisson) = 0
Sets Poisson’s ratio defines the body’s volume preservation.
Completely incompressible materials have a Poisson ratio of 0.5 which will lead to numerical problems.
See also
- Parameters
poisson – [in] Poisson’s ratio. Range: [0, 0.5)
-
virtual PxReal getPoissons() const = 0
Retrieves the Poisson’s ratio.
See also
- Returns
The Poisson’s ratio.
-
virtual void setHardening(PxReal hardening) = 0
Sets material hardening coefficient.
Tendency to get more rigid under compression. Range: [0, PX_MAX_F32)
See also
- Parameters
hardening – [in] Material hardening coefficient.
-
virtual PxReal getHardening() const = 0
Retrieves the hardening coefficient.
See also
- Returns
The hardening coefficient.
-
virtual void setCriticalCompression(PxReal criticalCompression) = 0
Sets material critical compression coefficient.
Compression clamping threshold (higher means more compression is allowed before yield). Range: [0, 1)
See also
- Parameters
criticalCompression – [in] Material critical compression coefficient.
-
virtual PxReal getCriticalCompression() const = 0
Retrieves the critical compression coefficient.
See also
- Returns
The criticalCompression coefficient.
-
virtual void setCriticalStretch(PxReal criticalStretch) = 0
Sets material critical stretch coefficient.
Stretch clamping threshold (higher means more stretching is allowed before yield). Range: [0, 1]
See also
- Parameters
criticalStretch – [in] Material critical stretch coefficient.
-
virtual PxReal getCriticalStretch() const = 0
Retrieves the critical stretch coefficient.
See also
- Returns
The criticalStretch coefficient.
-
virtual void setTensileDamageSensitivity(PxReal tensileDamageSensitivity) = 0
Sets material tensile damage sensitivity coefficient.
Sensitivity to tensile loads. The higher the sensitivity, the quicker damage will occur under tensile loads. Range: [0, PX_MAX_U32)
See also
- Parameters
tensileDamageSensitivity – [in] Material tensile damage sensitivity coefficient.
-
virtual PxReal getTensileDamageSensitivity() const = 0
Retrieves the tensile damage sensitivity coefficient.
See also
- Returns
The tensileDamageSensitivity coefficient.
-
virtual void setCompressiveDamageSensitivity(PxReal compressiveDamageSensitivity) = 0
Sets material compressive damage sensitivity coefficient.
Sensitivity to compressive loads. The higher the sensitivity, the quicker damage will occur under compressive loads Range: [0, PX_MAX_U32)
See also
- Parameters
compressiveDamageSensitivity – [in] Material compressive damage sensitivity coefficient.
-
virtual PxReal getCompressiveDamageSensitivity() const = 0
Retrieves the compressive damage sensitivity coefficient.
See also
- Returns
The compressiveDamageSensitivity coefficient.
-
virtual void setAttractiveForceResidual(PxReal attractiveForceResidual) = 0
Sets material attractive force residual coefficient.
Relative amount of attractive force a fully damaged particle can exert on other particles compared to an undamaged one. Range: [0, 1]
See also
- Parameters
attractiveForceResidual – [in] Material attractive force residual coefficient.
-
virtual PxReal getAttractiveForceResidual() const = 0
Retrieves the attractive force residual coefficient.
See also
- Returns
The attractiveForceResidual coefficient.
-
inline virtual const char *getConcreteTypeName() const
Returns string name of dynamic type.
- Returns
Class name of most derived type of this object.
-
virtual void setFriction(PxReal friction) = 0
Sets friction.
See also
- Parameters
friction – [in] Friction. Range: [0, PX_MAX_F32)
-
virtual PxReal getFriction() const = 0
Retrieves the friction value.
See also
- Returns
The friction value.
-
virtual void setDamping(PxReal damping) = 0
Sets velocity damping term.
See also
- Parameters
damping – [in] Velocity damping term. Range: [0, PX_MAX_F32)
-
virtual PxReal getDamping() const = 0
Retrieves the velocity damping term.
See also
- Returns
The velocity damping term.
-
virtual void setAdhesion(PxReal adhesion) = 0
Sets adhesion term.
See also
- Parameters
adhesion – [in] adhesion coefficient. Range: [0, PX_MAX_F32)
-
virtual PxReal getAdhesion() const = 0
Retrieves the adhesion term.
See also
- Returns
The adhesion term.
-
virtual void setGravityScale(PxReal scale) = 0
Sets gravity scale term.
See also
- 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
- 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.
See also
- Parameters
scale – [in] Material adhesion radius scale. Range: [0, PX_MAX_F32)
-
virtual PxReal getAdhesionRadiusScale() const = 0
Retrieves the adhesion radius scale.
See also
- Returns
The adhesion radius scale.
-
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()
-
inline PxType getConcreteType() const
Returns concrete type of object.
See also
- 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
- 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 PxMPMMaterial(PxType concreteType, PxBaseFlags baseFlags)
-
inline PxMPMMaterial(PxBaseFlags baseFlags)
-
inline virtual ~PxMPMMaterial()
-
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
-
virtual void setStretchAndShearDamping(PxReal stretchAndShearDamping) = 0