RavEngine
Loading...
Searching...
No Matches
physx::PxMPMMaterial Class Referenceabstract

Material class to represent a set of MPM particle material properties. More...

#include <PxMPMMaterial.h>

Inheritance diagram for physx::PxMPMMaterial:
[legend]
Collaboration diagram for physx::PxMPMMaterial:
[legend]

Public Member 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.
 
virtual PxReal getStretchAndShearDamping () const =0
 Retrieves the stretch and shear damping.
 
virtual void setRotationalDamping (PxReal rotationalDamping)=0
 Sets the rotational damping which dampens rotations of mpm bodies.
 
virtual PxReal getRotationalDamping () const =0
 Retrieves the rotational damping.
 
virtual void setDensity (PxReal density)=0
 Sets density which influences the body's weight.
 
virtual PxReal getDensity () const =0
 Retrieves the density value.
 
virtual void setMaterialModel (PxMPMMaterialModel::Enum materialModel)=0
 Sets the material model which influences interaction between MPM particles.
 
virtual PxMPMMaterialModel::Enum getMaterialModel () const =0
 Retrieves the material model.
 
virtual void setCuttingFlags (PxMPMCuttingFlags cuttingFlags)=0
 Sets the cutting flags which can enable damage tracking or thin blade support.
 
virtual PxMPMCuttingFlags getCuttingFlags () const =0
 Retrieves the cutting flags.
 
virtual void setSandFrictionAngle (PxReal sandFrictionAngle)=0
 Sets the sand friction angle, only applied if the material model is set to sand.
 
virtual PxReal getSandFrictionAngle () const =0
 Retrieves 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.
 
virtual PxReal getYieldStress () const =0
 Retrieves the yield stress.
 
virtual void setIsPlastic (bool isPlastic)=0
 Set material to plastic.
 
virtual bool getIsPlastic () const =0
 Returns true if material is plastic.
 
virtual void setYoungsModulus (PxReal young)=0
 Sets Young's modulus which defines the body's stiffness.
 
virtual PxReal getYoungsModulus () const =0
 Retrieves 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.
 
virtual PxReal getPoissons () const =0
 Retrieves the Poisson's ratio.
 
virtual void setHardening (PxReal hardening)=0
 Sets material hardening coefficient.
 
virtual PxReal getHardening () const =0
 Retrieves the hardening coefficient.
 
virtual void setCriticalCompression (PxReal criticalCompression)=0
 Sets material critical compression coefficient.
 
virtual PxReal getCriticalCompression () const =0
 Retrieves the critical compression coefficient.
 
virtual void setCriticalStretch (PxReal criticalStretch)=0
 Sets material critical stretch coefficient.
 
virtual PxReal getCriticalStretch () const =0
 Retrieves the critical stretch coefficient.
 
virtual void setTensileDamageSensitivity (PxReal tensileDamageSensitivity)=0
 Sets material tensile damage sensitivity coefficient.
 
virtual PxReal getTensileDamageSensitivity () const =0
 Retrieves the tensile damage sensitivity coefficient.
 
virtual void setCompressiveDamageSensitivity (PxReal compressiveDamageSensitivity)=0
 Sets material compressive damage sensitivity coefficient.
 
virtual PxReal getCompressiveDamageSensitivity () const =0
 Retrieves the compressive damage sensitivity coefficient.
 
virtual void setAttractiveForceResidual (PxReal attractiveForceResidual)=0
 Sets material attractive force residual coefficient.
 
virtual PxReal getAttractiveForceResidual () const =0
 Retrieves the attractive force residual coefficient.
 
virtual const char * getConcreteTypeName () const
 Returns string name of dynamic type.
 
- Public Member Functions inherited from physx::PxParticleMaterial
virtual void setFriction (PxReal friction)=0
 Sets friction.
 
virtual PxReal getFriction () const =0
 Retrieves the friction value.
 
virtual void setDamping (PxReal damping)=0
 Sets velocity damping term.
 
virtual PxReal getDamping () const =0
 Retrieves the velocity damping term.
 
virtual void setAdhesion (PxReal adhesion)=0
 Sets adhesion term.
 
virtual PxReal getAdhesion () const =0
 Retrieves the adhesion term.
 
virtual void setGravityScale (PxReal scale)=0
 Sets gravity scale term.
 
virtual PxReal getGravityScale () const =0
 Retrieves 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.
 
virtual PxReal getAdhesionRadiusScale () const =0
 Retrieves the adhesion radius scale.
 
- Public Member Functions inherited from physx::PxBaseMaterial
PX_INLINE PxBaseMaterial (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxBaseMaterial (PxBaseFlags baseFlags)
 
- Public Member Functions inherited from physx::PxRefCounted
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.
 
virtual void acquireReference ()=0
 Acquires a counted reference to this object.
 
- Public Member Functions inherited from physx::PxBase
template<class T >
T * is ()
 
template<class T >
const T * is () const
 
PX_FORCE_INLINE PxType getConcreteType () const
 Returns concrete type of object.
 
PX_FORCE_INLINE void setBaseFlag (PxBaseFlag::Enum flag, bool value)
 Set PxBaseFlag

 
PX_FORCE_INLINE void setBaseFlags (PxBaseFlags inFlags)
 Set PxBaseFlags

 
PX_FORCE_INLINE PxBaseFlags getBaseFlags () const
 Returns PxBaseFlags.
 
virtual bool isReleasable () const
 Whether the object is subordinate.
 

Protected Member Functions

PX_INLINE PxMPMMaterial (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxMPMMaterial (PxBaseFlags baseFlags)
 
virtual bool isKindOf (const char *name) const
 Returns whether a given type name matches with the type of this instance.
 
- Protected Member Functions inherited from physx::PxParticleMaterial
PX_INLINE PxParticleMaterial (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxParticleMaterial (PxBaseFlags baseFlags)
 
- Protected Member Functions inherited from physx::PxRefCounted
virtual void onRefCountZero ()
 
PX_INLINE PxRefCounted (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxRefCounted (PxBaseFlags baseFlags)
 
- Protected Member Functions inherited from physx::PxBase
PX_INLINE PxBase (PxType concreteType, PxBaseFlags baseFlags)
 Constructor setting concrete type and base flags.
 
PX_INLINE PxBase (PxBaseFlags baseFlags)
 Deserialization constructor setting base flags.
 
virtual ~PxBase ()
 Destructor.
 
template<class T >
bool typeMatch () const
 

Additional Inherited Members

- Public Attributes inherited from physx::PxBaseMaterial
void * userData
 user can assign this to whatever, usually to create a 1:1 relationship with a user object.
 
- Protected Attributes inherited from physx::PxBase
PxType mConcreteType
 
PxBaseFlags mBaseFlags
 
PxU32 mBuiltInRefCount
 

Detailed Description

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

See also
PxPhysics.createMPMMaterial

Member Function Documentation

◆ getAttractiveForceResidual()

virtual PxReal physx::PxMPMMaterial::getAttractiveForceResidual ( ) const
pure virtual

Retrieves the attractive force residual coefficient.

Returns
The attractiveForceResidual coefficient.
See also
setAttractiveForceResidual()

◆ getCompressiveDamageSensitivity()

virtual PxReal physx::PxMPMMaterial::getCompressiveDamageSensitivity ( ) const
pure virtual

Retrieves the compressive damage sensitivity coefficient.

Returns
The compressiveDamageSensitivity coefficient.
See also
setCompressiveDamageSensitivity()

◆ getConcreteTypeName()

virtual const char * physx::PxMPMMaterial::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Implements physx::PxBase.

◆ getCriticalCompression()

virtual PxReal physx::PxMPMMaterial::getCriticalCompression ( ) const
pure virtual

Retrieves the critical compression coefficient.

Returns
The criticalCompression coefficient.
See also
setCriticalCompression()

◆ getCriticalStretch()

virtual PxReal physx::PxMPMMaterial::getCriticalStretch ( ) const
pure virtual

Retrieves the critical stretch coefficient.

Returns
The criticalStretch coefficient.
See also
setCriticalStretch()

◆ getCuttingFlags()

virtual PxMPMCuttingFlags physx::PxMPMMaterial::getCuttingFlags ( ) const
pure virtual

Retrieves the cutting flags.

Returns
The cutting flags
See also
setCuttingFlags()

◆ getDensity()

virtual PxReal physx::PxMPMMaterial::getDensity ( ) const
pure virtual

Retrieves the density value.

Returns
The density
See also
setDensity()

◆ getHardening()

virtual PxReal physx::PxMPMMaterial::getHardening ( ) const
pure virtual

Retrieves the hardening coefficient.

Returns
The hardening coefficient.
See also
setHardening()

◆ getIsPlastic()

virtual bool physx::PxMPMMaterial::getIsPlastic ( ) const
pure virtual

Returns true if material is plastic.

Returns
True if plastic
See also
setIsPlastic()

◆ getMaterialModel()

virtual PxMPMMaterialModel::Enum physx::PxMPMMaterial::getMaterialModel ( ) const
pure virtual

Retrieves the material model.

Returns
The material model
See also
setMaterialModel()

◆ getPoissons()

virtual PxReal physx::PxMPMMaterial::getPoissons ( ) const
pure virtual

Retrieves the Poisson's ratio.

Returns
The Poisson's ratio.
See also
setPoissons()

◆ getRotationalDamping()

virtual PxReal physx::PxMPMMaterial::getRotationalDamping ( ) const
pure virtual

Retrieves the rotational damping.

Returns
The rotational damping
See also
setRotationalDamping()

◆ getSandFrictionAngle()

virtual PxReal physx::PxMPMMaterial::getSandFrictionAngle ( ) const
pure virtual

Retrieves the sand friction angle.

Returns
The sand friction angle
See also
setSandFrictionAngle()

◆ getStretchAndShearDamping()

virtual PxReal physx::PxMPMMaterial::getStretchAndShearDamping ( ) const
pure virtual

Retrieves the stretch and shear damping.

Returns
The stretch and shear damping
See also
setStretchAndShearDamping()

◆ getTensileDamageSensitivity()

virtual PxReal physx::PxMPMMaterial::getTensileDamageSensitivity ( ) const
pure virtual

Retrieves the tensile damage sensitivity coefficient.

Returns
The tensileDamageSensitivity coefficient.
See also
setTensileDamageSensitivity()

◆ getYieldStress()

virtual PxReal physx::PxMPMMaterial::getYieldStress ( ) const
pure virtual

Retrieves the yield stress.

Returns
The yield stress
See also
setYieldStress()

◆ getYoungsModulus()

virtual PxReal physx::PxMPMMaterial::getYoungsModulus ( ) const
pure virtual

Retrieves the Young's modulus value.

Returns
The Young's modulus value.
See also
setYoungsModulus()

◆ isKindOf()

virtual bool physx::PxMPMMaterial::isKindOf ( const char *  superClass) const
inlineprotectedvirtual

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

Reimplemented from physx::PxParticleMaterial.

◆ setAttractiveForceResidual()

virtual void physx::PxMPMMaterial::setAttractiveForceResidual ( PxReal  attractiveForceResidual)
pure virtual

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]

Parameters
[in]attractiveForceResidualMaterial attractive force residual coefficient.
See also
getAttractiveForceResidual

◆ setCompressiveDamageSensitivity()

virtual void physx::PxMPMMaterial::setCompressiveDamageSensitivity ( PxReal  compressiveDamageSensitivity)
pure virtual

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)

Parameters
[in]compressiveDamageSensitivityMaterial compressive damage sensitivity coefficient.
See also
getCompressiveDamageSensitivity

◆ setCriticalCompression()

virtual void physx::PxMPMMaterial::setCriticalCompression ( PxReal  criticalCompression)
pure virtual

Sets material critical compression coefficient.

Compression clamping threshold (higher means more compression is allowed before yield). Range: [0, 1)

Parameters
[in]criticalCompressionMaterial critical compression coefficient.
See also
getCriticalCompression

◆ setCriticalStretch()

virtual void physx::PxMPMMaterial::setCriticalStretch ( PxReal  criticalStretch)
pure virtual

Sets material critical stretch coefficient.

Stretch clamping threshold (higher means more stretching is allowed before yield). Range: [0, 1]

Parameters
[in]criticalStretchMaterial critical stretch coefficient.
See also
getCriticalStretch

◆ setCuttingFlags()

virtual void physx::PxMPMMaterial::setCuttingFlags ( PxMPMCuttingFlags  cuttingFlags)
pure virtual

Sets the cutting flags which can enable damage tracking or thin blade support.

Parameters
[in]cuttingFlagsThe cutting flags
See also
getCuttingFlags()

◆ setDensity()

virtual void physx::PxMPMMaterial::setDensity ( PxReal  density)
pure virtual

Sets density which influences the body's weight.

Parameters
[in]densityThe material's density
See also
getDensity()

◆ setHardening()

virtual void physx::PxMPMMaterial::setHardening ( PxReal  hardening)
pure virtual

Sets material hardening coefficient.

Tendency to get more rigid under compression. Range: [0, PX_MAX_F32)

Parameters
[in]hardeningMaterial hardening coefficient.
See also
getHardening

◆ setIsPlastic()

virtual void physx::PxMPMMaterial::setIsPlastic ( bool  isPlastic)
pure virtual

Set material to plastic.

Parameters
[in]isPlasticTrue if plastic
See also
getIsPlastic()

◆ setMaterialModel()

virtual void physx::PxMPMMaterial::setMaterialModel ( PxMPMMaterialModel::Enum  materialModel)
pure virtual

Sets the material model which influences interaction between MPM particles.

Parameters
[in]materialModelThe material model
See also
getMaterialModel()

◆ setPoissons()

virtual void physx::PxMPMMaterial::setPoissons ( PxReal  poisson)
pure virtual

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.

Parameters
[in]poissonPoisson's ratio. Range: [0, 0.5)
See also
getPoissons()

◆ setRotationalDamping()

virtual void physx::PxMPMMaterial::setRotationalDamping ( PxReal  rotationalDamping)
pure virtual

Sets the rotational damping which dampens rotations of mpm bodies.

Parameters
[in]rotationalDampingThe rotational damping
See also
getRotationalDamping()

◆ setSandFrictionAngle()

virtual void physx::PxMPMMaterial::setSandFrictionAngle ( PxReal  sandFrictionAngle)
pure virtual

Sets the sand friction angle, only applied if the material model is set to sand.

Parameters
[in]sandFrictionAngleThe sand friction angle
See also
getSandFrictionAngle()

◆ setStretchAndShearDamping()

virtual void physx::PxMPMMaterial::setStretchAndShearDamping ( PxReal  stretchAndShearDamping)
pure virtual

Sets stretch and shear damping which dampens stretch and shear motion of MPM bodies. The effect is comparable to viscosity for fluids.

Parameters
[in]stretchAndShearDampingThe stretch and shear damping
See also
getStretchAndShearDamping()

◆ setTensileDamageSensitivity()

virtual void physx::PxMPMMaterial::setTensileDamageSensitivity ( PxReal  tensileDamageSensitivity)
pure virtual

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)

Parameters
[in]tensileDamageSensitivityMaterial tensile damage sensitivity coefficient.
See also
getTensileDamageSensitivity

◆ setYieldStress()

virtual void physx::PxMPMMaterial::setYieldStress ( PxReal  yieldStress)
pure virtual

Sets the yield stress, only applied if the material model is set to Von Mises.

Parameters
[in]yieldStressThe yield stress
See also
getYieldStress()

◆ setYoungsModulus()

virtual void physx::PxMPMMaterial::setYoungsModulus ( PxReal  young)
pure virtual

Sets Young's modulus which defines the body's stiffness.

Parameters
[in]youngYoung's modulus. Range: [0, PX_MAX_F32)
See also
getYoungsModulus()

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