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;