public virtual float SendTorque(float torque, float inertiaSum, float dt) { if (_outputAIsNull) { return(torque); } float T = outputA.SendTorque(torque, inertiaSum + inertia, dt); return(T); }
public override float SendTorque(float torque, float inertiaSum, float dt) { if (_outputAIsNull || _outputBIsNull) { return(torque); } float Wa = outputA.QueryAngularVelocity(angularVelocity, dt); float Wb = outputB.QueryAngularVelocity(angularVelocity, dt); float Ia = outputA.QueryInertia(); float Ib = outputB.QueryInertia(); splitTorqueDelegate.Invoke(torque, Wa, Wb, Ia, Ib, dt, biasAB, preload, stiffness, powerRamp, coastRamp, slipTorque, out float Ta, out float Tb); return(outputA.SendTorque(Ta, inertiaSum + Ia, dt) + outputB.SendTorque(Tb, inertiaSum + Ib, dt)); }