PxFrictionType Struct Reference

Enum for selecting the friction algorithm used for simulation. More...

#include <PxSceneDesc.h>

Public Types

enum  Enum { ePATCH, eONE_DIRECTIONAL, eTWO_DIRECTIONAL, eFRICTION_COUNT }
 

Detailed Description

Enum for selecting the friction algorithm used for simulation.

PxFrictionType::ePATCH selects the patch friction model which typically leads to the most stable results at low solver iteration counts and is also quite inexpensive, as it uses only up to four scalar solver constraints per pair of touching objects. The patch friction model is the same basic strong friction algorithm as PhysX 3.2 and before.

PxFrictionType::eONE_DIRECTIONAL is a simplification of the Coulomb friction model, in which the friction for a given point of contact is applied in the alternating tangent directions of the contact's normal. This simplification allows us to reduce the number of iterations required for convergence but is not as accurate as the two directional model.

PxFrictionType::eTWO_DIRECTIONAL is identical to the one directional model, but it applies friction in both tangent directions simultaneously. This hurts convergence a bit so it requires more solver iterations, but is more accurate. Like the one directional model, it is applied at every contact point, which makes it potentially more expensive than patch friction for scenarios with many contact points.

PxFrictionType::eFRICTION_COUNT is the total numer of friction models supported by the SDK.

Member Enumeration Documentation

◆ Enum

Enumerator
ePATCH 

Select default patch-friction model.

eONE_DIRECTIONAL 

Select one directional per-contact friction model.

eTWO_DIRECTIONAL 

Select two directional per-contact friction model.

eFRICTION_COUNT 

The total number of friction models supported by the SDK.


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