#include <PxVehicleTireFriction.h>
Public Types | |
enum | { eMAX_NB_SURFACE_TYPES = 256 } |
Public Member Functions | |
void | setup (const PxU32 nbTireTypes, const PxU32 nbSurfaceTypes, const PxMaterial **drivableSurfaceMaterials, const PxVehicleDrivableSurfaceType *drivableSurfaceTypes) |
Set up a PxVehicleDrivableSurfaceToTireFrictionPairs instance for combinations of nbTireTypes tire types and nbSurfaceTypes surface types. | |
void | release () |
Deallocate a PxVehicleDrivableSurfaceToTireFrictionPairs instance. | |
void | setTypePairFriction (const PxU32 surfaceType, const PxU32 tireType, const PxReal value) |
Set the friction for a specified pair of tire type and drivable surface type. | |
PxReal | getTypePairFriction (const PxU32 surfaceType, const PxU32 tireType) const |
Return the friction for a specified combination of surface type and tire type. | |
PxU32 | getMaxNbSurfaceTypes () const |
Return the maximum number of surface types. | |
PxU32 | getMaxNbTireTypes () const |
Return the maximum number of tire types. | |
Static Public Member Functions | |
static PxVehicleDrivableSurfaceToTireFrictionPairs * | allocate (const PxU32 maxNbTireTypes, const PxU32 maxNbSurfaceTypes) |
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. | |
Private Member Functions | |
PxVehicleDrivableSurfaceToTireFrictionPairs () | |
~PxVehicleDrivableSurfaceToTireFrictionPairs () | |
Private Attributes | |
PxReal * | mPairs |
Ptr to base address of a 2d PxReal array with dimensions [mNbSurfaceTypes][mNbTireTypes]. | |
const PxMaterial ** | mDrivableSurfaceMaterials |
Ptr to 1d array of material ptrs that is of length mNbSurfaceTypes. | |
PxVehicleDrivableSurfaceType * | mDrivableSurfaceTypes |
Ptr to 1d array of PxVehicleDrivableSurfaceType that is of length mNbSurfaceTypes. | |
PxU32 | mNbSurfaceTypes |
Number of different driving surface types. | |
PxU32 | mMaxNbSurfaceTypes |
Maximum number of different driving surface types. | |
PxU32 | mNbTireTypes |
Number of different tire types. | |
PxU32 | mMaxNbTireTypes |
Maximum number of different tire types. | |
PxU32 | mPad [1] |
Friends | |
class | VehicleSurfaceTypeHashTable |
PxVehicleDrivableSurfaceToTireFrictionPairs::PxVehicleDrivableSurfaceToTireFrictionPairs | ( | ) | [inline, private] |
PxVehicleDrivableSurfaceToTireFrictionPairs::~PxVehicleDrivableSurfaceToTireFrictionPairs | ( | ) | [inline, private] |
static PxVehicleDrivableSurfaceToTireFrictionPairs* PxVehicleDrivableSurfaceToTireFrictionPairs::allocate | ( | const PxU32 | maxNbTireTypes, | |
const PxU32 | maxNbSurfaceTypes | |||
) | [static] |
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.
[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 |
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbSurfaceTypes | ( | ) | const [inline] |
Return the maximum number of surface types.
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::getMaxNbTireTypes | ( | ) | const [inline] |
PxReal PxVehicleDrivableSurfaceToTireFrictionPairs::getTypePairFriction | ( | const PxU32 | surfaceType, | |
const PxU32 | tireType | |||
) | const |
Return the friction for a specified combination of surface type and tire type.
void PxVehicleDrivableSurfaceToTireFrictionPairs::release | ( | ) |
Deallocate a PxVehicleDrivableSurfaceToTireFrictionPairs instance.
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.
[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. |
void PxVehicleDrivableSurfaceToTireFrictionPairs::setup | ( | const PxU32 | nbTireTypes, | |
const PxU32 | nbSurfaceTypes, | |||
const PxMaterial ** | drivableSurfaceMaterials, | |||
const PxVehicleDrivableSurfaceType * | drivableSurfaceTypes | |||
) |
Set up a PxVehicleDrivableSurfaceToTireFrictionPairs instance for combinations of nbTireTypes tire types and nbSurfaceTypes surface types.
[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. |
A friction value of 1.0 will be assigned as default to each combination of tire and surface type. To override this use setTypePairFriction.
friend class VehicleSurfaceTypeHashTable [friend] |
Ptr to 1d array of material ptrs that is of length mNbSurfaceTypes.
If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.
PxVehicleDrivableSurfaceType* PxVehicleDrivableSurfaceToTireFrictionPairs::mDrivableSurfaceTypes [private] |
Ptr to 1d array of PxVehicleDrivableSurfaceType that is of length mNbSurfaceTypes.
If the PxMaterial that touches the tire is not found in mDrivableSurfaceMaterials then the friction is mPairs[0][y], assuming a tire type y.
Maximum number of different driving surface types.
Number of different driving surface types.
mNbSurfaceTypes must be less than or equal to mMaxNbSurfaceTypes.
PxU32 PxVehicleDrivableSurfaceToTireFrictionPairs::mPad[1] [private] |
PxReal* PxVehicleDrivableSurfaceToTireFrictionPairs::mPairs [private] |
Ptr to base address of a 2d PxReal array with dimensions [mNbSurfaceTypes][mNbTireTypes].