Defined in include/vehicle2/drivetrain/PxVehicleDrivetrainComponents.h

Inheritance Relationships

Base Type

class PxVehicleEngineDrivetrainComponent : public PxVehicleComponent

Forward integrate the angular speed of each wheel and of the engine, accounting for the state of the clutch, gearbox and differential.

Public Functions

inline PxVehicleEngineDrivetrainComponent()
inline virtual ~PxVehicleEngineDrivetrainComponent()
virtual void getDataForEngineDrivetrainComponent(const PxVehicleAxleDescription *&axleDescription, PxVehicleArrayData<const PxVehicleWheelParams> &wheelParams, const PxVehicleEngineParams *&engineParams, const PxVehicleClutchParams *&clutchParams, const PxVehicleGearboxParams *&gearboxParams, PxVehicleArrayData<const PxReal> &brakeResponseStates, PxVehicleArrayData<const PxVehicleWheelActuationState> &actuationStates, PxVehicleArrayData<const PxVehicleTireForce> &tireForces, const PxVehicleEngineDriveThrottleCommandResponseState *&throttleResponseState, const PxVehicleClutchCommandResponseState *&clutchResponseState, const PxVehicleDifferentialState *&differentialState, const PxVehicleWheelConstraintGroupState *&constraintGroupState, PxVehicleArrayData<PxVehicleWheelRigidBody1dState> &wheelRigidBody1dStates, PxVehicleEngineState *&engineState, PxVehicleGearboxState *&gearboxState, PxVehicleClutchSlipState *&clutchState) = 0

Provide vehicle data items for this component.


If constraintGroupState is set to NULL it is assumed that there are no requirements for any wheels to have the same angular or linear velocity.

  • axleDescription[out] identifies the wheels on each axle.

  • wheelParams[out] specifies the radius of each wheel.

  • engineParams[out] specifies the engine’s torque curve, idle revs and max revs.

  • clutchParams[out] specifies the maximum strength of the clutch.

  • gearboxParams[out] specifies the gear ratio of each gear.

  • brakeResponseStates[out] stores the instantaneous brake brake torque to apply to each wheel.

  • actuationStates[out] stores whether a brake and/or drive torque are to be applied to each wheel.

  • tireForces[out] stores the lateral and longitudinal tire force that has developed on each tire.

  • throttleResponseState[out] stores the response of the throttle to the input throttle command.

  • clutchResponseState[out] stores the instantaneous clutch strength that arises from the input clutch command.

  • differentialState[out] stores the instantaneous torque split between the wheels.

  • constraintGroupState[out] stores the groups of wheels that are subject to constraints that require them to have the same angular or linear velocity.

  • wheelRigidBody1dStates[out] stores the per wheel angular speed to be computed by the component.

  • engineState[out] stores the engine rotation speed to be computed by the component.

  • gearboxState[out] stores the state of the gearbox to be computed by the component.

  • clutchState[out] stores the clutch slip to be computed by the component.

inline virtual bool update(const PxReal dt, const PxVehicleSimulationContext &context)

Update function for a vehicle component.

  • dt[in] The timestep size to use for the update step.

  • context[in] Vehicle simulation context holding global data or data that usually applies to a large group of vehicles.


True if subsequent components in a sequence should get updated, false if the sequence should be aborted.