PxVehicleEngineParams#

Defined in include/vehicle2/drivetrain/PxVehicleDrivetrainParams.h

struct PxVehicleEngineParams#

Public Types

enum [anonymous]#

Maximum supported number of points in the torqueCurve graph.

Values:

enumerator eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES#

Public Functions

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

Public Members

PxVehicleFixedSizeLookupTable<PxReal, eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES> torqueCurve#

Graph of normalized torque (torque/peakTorque) against normalized engine speed ( engineRotationSpeed / maxOmega ).

Note

The normalized engine speed is the x-axis of the graph, while the normalized torque is the y-axis of the graph.

PxReal moi#

Moment of inertia of the engine around the axis of rotation.

Range: (0, inf)Unit: mass * (length^2)

PxReal peakTorque#

Maximum torque available to apply to the engine when the accelerator pedal is at maximum.

Range: [0, inf)Unit: mass * (length^2) / (time^2)

Note

The torque available is the value of the accelerator pedal (in range [0, 1]) multiplied by the normalized torque as computed from torqueCurve multiplied by peakTorque.

PxReal idleOmega#

Minimum rotation speed of the engine.

Range: [0, inf)Unit: radians / time

PxReal maxOmega#

Maximum rotation speed of the engine.

Range: [0, inf)Unit: radians / time

PxReal dampingRateFullThrottle#

Damping rate of engine when full throttle is applied.

Range: [0, inf)Unit: torque * time = mass * (length^2) / time

Note

If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchEngaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchEngaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

Note

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchDisengaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchDisengaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;

PxReal dampingRateZeroThrottleClutchEngaged#

Damping rate of engine when no throttle is applied and with engaged clutch.

Range: [0, inf)Unit: torque * time = mass * (length^2) / time

Note

If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchEngaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchEngaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

Note

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchDisengaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchDisengaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;

PxReal dampingRateZeroThrottleClutchDisengaged#

Damping rate of engine when no throttle is applied and with disengaged clutch.

Range: [0, inf)Unit: torque * time = mass * (length^2) / time

Note

If the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchEngaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchEngaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchEngaged)*acceleratorPedal;

Note

If the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchDisengaged and dampingRateFullThrottle: dampingRateZeroThrottleClutchDisengaged + (dampingRateFullThrottle-dampingRateZeroThrottleClutchDisengaged)*acceleratorPedal;