pub struct EngineTorqueCurve {
pub rpm_points: Vec<f32>,
pub torque_points: Vec<f32>,
pub idle_rpm: f32,
pub max_rpm: f32,
pub redline_rpm: f32,
pub current_rpm: f32,
pub inertia: f32,
}Fields§
§rpm_points: Vec<f32>RPM values
torque_points: Vec<f32>Torque values in Nm at each RPM point
idle_rpm: f32§max_rpm: f32§redline_rpm: f32§current_rpm: f32§inertia: f32Implementations§
Source§impl EngineTorqueCurve
impl EngineTorqueCurve
pub fn petrol_sport() -> Self
pub fn diesel_truck() -> Self
Sourcepub fn evaluate(&self, rpm: f32) -> f32
pub fn evaluate(&self, rpm: f32) -> f32
Evaluate torque at given RPM using linear interpolation
Sourcepub fn update_rpm(
&mut self,
wheel_ang_vel: f32,
gear_ratio: f32,
final_drive: f32,
)
pub fn update_rpm( &mut self, wheel_ang_vel: f32, gear_ratio: f32, final_drive: f32, )
Compute engine RPM from wheel angular velocity through gearbox
Trait Implementations§
Source§impl Clone for EngineTorqueCurve
impl Clone for EngineTorqueCurve
Auto Trait Implementations§
impl Freeze for EngineTorqueCurve
impl RefUnwindSafe for EngineTorqueCurve
impl Send for EngineTorqueCurve
impl Sync for EngineTorqueCurve
impl Unpin for EngineTorqueCurve
impl UnsafeUnpin for EngineTorqueCurve
impl UnwindSafe for EngineTorqueCurve
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.