Friction for each combination of driving surface type and tire type.
More...
#include <PxVehicleTireFriction.h>
Friction for each combination of driving surface type and tire type.
- See also
- PxVehicleDrivableSurfaceType, PxVehicleTireData::mType
◆ anonymous enum
Enumerator |
---|
eMAX_NB_SURFACE_TYPES | |
◆ PxVehicleDrivableSurfaceToTireFrictionPairs()
PxVehicleDrivableSurfaceToTireFrictionPairs::PxVehicleDrivableSurfaceToTireFrictionPairs |
( |
| ) |
|
|
inlineprivate |
◆ ~PxVehicleDrivableSurfaceToTireFrictionPairs()
PxVehicleDrivableSurfaceToTireFrictionPairs::~PxVehicleDrivableSurfaceToTireFrictionPairs |
( |
| ) |
|
|
inlineprivate |
◆ allocate()
Allocate the memory for a PxVehicleDrivableSurfaceToTireFrictionPairs instance that can hold data for combinations of tire type and surface type with up to maxNbTireTypes types of tire and maxNbSurfaceTypes types of surface.
- Parameters
-
[in] | maxNbTireTypes | is the maximum number of allowed tire types. |
[in] | maxNbSurfaceTypes | is the maximum number of allowed surface types. Must be less than or equal to eMAX_NB_SURFACE_TYPES |
- Returns
- a PxVehicleDrivableSurfaceToTireFrictionPairs instance that can be reused later with new type and friction data.
- See also
- setup
◆ getMaxNbSurfaceTypes()
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbSurfaceTypes |
( |
| ) |
const |
|
inline |
Return the maximum number of surface types.
- Returns
- The maximum number of surface types
- See also
- allocate
◆ getMaxNbTireTypes()
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbTireTypes |
( |
| ) |
const |
|
inline |
Return the maximum number of tire types.
- Returns
- The maximum number of tire types
- See also
- allocate
◆ getTypePairFriction()
PxReal PxVehicleDrivableSurfaceToTireFrictionPairs::getTypePairFriction |
( |
const PxU32 |
surfaceType, |
|
|
const PxU32 |
tireType |
|
) |
| const |
◆ release()
void PxVehicleDrivableSurfaceToTireFrictionPairs::release |
( |
| ) |
|
◆ setTypePairFriction()
void PxVehicleDrivableSurfaceToTireFrictionPairs::setTypePairFriction |
( |
const PxU32 |
surfaceType, |
|
|
const PxU32 |
tireType, |
|
|
const PxReal |
value |
|
) |
| |
Set the friction for a specified pair of tire type and drivable surface type.
- Parameters
-
[in] | surfaceType | describes the surface type |
[in] | tireType | describes the tire type. |
[in] | value | describes the friction coefficient for the combination of surface type and tire type. |
◆ setup()
Set up a PxVehicleDrivableSurfaceToTireFrictionPairs instance for combinations of nbTireTypes tire types and nbSurfaceTypes surface types.
- Parameters
-
[in] | nbTireTypes | is the number of different types of tire. This value must be less than or equal to maxNbTireTypes specified in allocate(). |
[in] | nbSurfaceTypes | is the number of different types of surface. This value must be less than or equal to maxNbSurfaceTypes specified in allocate(). |
[in] | drivableSurfaceMaterials | is an array of PxMaterial pointers of length nbSurfaceTypes. |
[in] | drivableSurfaceTypes | is an array of PxVehicleDrivableSurfaceType instances of length nbSurfaceTypes. |
- Note
- If the pointer to the PxMaterial that touches the tire is found in drivableSurfaceMaterials[x] then the surface type is drivableSurfaceTypes[x].mType and the friction is the value that is set with setTypePairFriction(drivableSurfaceTypes[x].mType, PxVehicleTireData::mType, frictionValue).
-
A friction value of 1.0 will be assigned as default to each combination of tire and surface type. To override this use setTypePairFriction.
- See also
- release, setTypePairFriction, getTypePairFriction, PxVehicleTireData.mType
◆ VehicleSurfaceTypeHashTable
friend class VehicleSurfaceTypeHashTable |
|
friend |
◆ mDrivableSurfaceMaterials
const PxMaterial** PxVehicleDrivableSurfaceToTireFrictionPairs::mDrivableSurfaceMaterials |
|
private |
Ptr to 1d array of material ptrs that is of length mNbSurfaceTypes.
- Note
- If the PxMaterial that touches the tire corresponds to mDrivableSurfaceMaterials[x] then the drivable surface type is mDrivableSurfaceTypes[x].mType and the friction for that contact is mPairs[mDrivableSurfaceTypes[x].mType][y], assuming a tire type y.
-
If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.
◆ mDrivableSurfaceTypes
Ptr to 1d array of PxVehicleDrivableSurfaceType that is of length mNbSurfaceTypes.
- Note
- If the PxMaterial that touches the tire is found in mDrivableSurfaceMaterials[x] then the drivable surface type is mDrivableSurfaceTypes[x].mType and the friction for that contact is mPairs[mDrivableSurfaceTypes[x].mType][y], assuming a tire type y.
-
If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.
◆ mMaxNbSurfaceTypes
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mMaxNbSurfaceTypes |
|
private |
Maximum number of different driving surface types.
- Note
- mMaxNbSurfaceTypes must be less than or equal to eMAX_NB_SURFACE_TYPES.
◆ mMaxNbTireTypes
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mMaxNbTireTypes |
|
private |
◆ mNbSurfaceTypes
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mNbSurfaceTypes |
|
private |
Number of different driving surface types.
- Note
- mDrivableSurfaceMaterials and mDrivableSurfaceTypes are both 1d arrays of length mMaxNbSurfaceTypes.
-
mNbSurfaceTypes must be less than or equal to mMaxNbSurfaceTypes.
◆ mNbTireTypes
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mNbTireTypes |
|
private |
◆ mPad
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mPad[1] |
|
private |
◆ mPairs
PxReal* PxVehicleDrivableSurfaceToTireFrictionPairs::mPairs |
|
private |
Ptr to base address of a 2d PxReal array with dimensions [mNbSurfaceTypes][mNbTireTypes].
- Note
- Each element of the array describes the maximum friction provided by a surface type-tire type combination. eg the friction corresponding to a combination of surface type x and tire type y is mPairs[x][y]
The documentation for this class was generated from the following file: