PxVehiclePhysXSuspensionLimitConstraintParams

Defined in include/vehicle2/physxConstraints/PxVehiclePhysXConstraintParams.h

struct PxVehiclePhysXSuspensionLimitConstraintParams

A description of the PhysX models employed to resolve suspension limit constraints.

Public Types

enum DirectionSpecifier

Set the direction to apply a constraint impulse when the suspension cannot place the wheel on the ground and simultaneously respect the limits of suspension travel.

The choices are to push along the ground normal to resolve the geometric error or to push along the suspension direction. The former choice can be thought of as mimicing a force applied by the tire’s contact with the ground, while the latter can be thought of as mimicing a force arising from a suspension limit spring. When the ground normal and the suspension direction are approximately aligned, both do an equivalent job of maintaining the wheel above the ground. When the vehicle is on its side, eSUSPENSION does a better job of keeping the wheels above the ground but comes at the cost of an unnaturally strong torque that can lead to unwanted self-righting behaviour. eROAD_GEOMETRY_NORMAL is a good choice to avoid self-righting behaviour and still do a reasonable job at maintaining the wheel above the ground in the event that the vehicle is tending towards a roll onto its side.

eNONE should be chosen if it is desired that no extra impulse is applied when the suspension alone cannot keep the wheels above the ground plane.

Values:

enumerator eSUSPENSION
enumerator eROAD_GEOMETRY_NORMAL
enumerator eNONE

Public Functions

inline PxVehiclePhysXSuspensionLimitConstraintParams transformAndScale(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale) const
inline bool isValid() const

Public Members

PxReal restitution

restitution is used by the restitution model used to generate a target velocity when resolving suspension limit constraints.

See also

Px1DConstraint::RestitutionModifiers::restitution

Note

A value of 0.0 means that the restitution model is not employed.

Note

Restitution has no effect if directionForSuspensionLimitConstraint has value Enum::eNONE.

DirectionSpecifier directionForSuspensionLimitConstraint