Vamos_Body::Engine Class Reference

#include <Engine.h>

Inheritance diagram for Vamos_Body::Engine:

Inheritance graph
[legend]
Collaboration diagram for Vamos_Body::Engine:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Engine (double mass, const Vamos_Geometry::Three_Vector &position, double max_power, double peak_engine_rpm, double rpm_limit, double inertia, double idle_throttle, double start_rpm, double stall_rpm, double fuel_consumption)
void set_torque_curve (const std::vector< Vamos_Geometry::Two_Point > &torque_points)
void set_friction (double friction)
void input (double gas, double drag, double transmission_speed, bool engaged)
void find_forces ()
void propagate (double time)
void rewind ()
double rotational_speed () const
double max_rotational_speed () const
double peak_engine_speed () const
double drive_torque () const
double drive_impulse () const
double throttle () const
double fuel_rate () const
void out_of_gas (bool out)
void start ()
void speed (double speed_in)
void set_rotational_speed (double newrs)
double drag ()
void set_drag (double newdrag)
double max_power ()
double stall_speed ()

Private Member Functions

double torque_map (double gas, double rotational_speed)

Private Attributes

double m_max_power
double m_peak_engine_speed
double m_engine_speed_limit
double m_inertia
double m_idle_throttle
double m_start_speed
double m_stall_speed
double m_fuel_consumption
double m_rotational_speed
double m_last_rotational_speed
double m_gas
double m_drag
double m_transmission_speed
bool m_out_of_gas
double m_idle
double m_drive_torque
double m_drive_impulse
bool m_engaged
Vamos_Geometry::Spline m_torque_curve
double m_friction

Detailed Description

Definition at line 34 of file Engine.h.


Constructor & Destructor Documentation

Vamos_Body::Engine::Engine double  mass,
const Vamos_Geometry::Three_Vector position,
double  max_power,
double  peak_engine_rpm,
double  rpm_limit,
double  inertia,
double  idle_throttle,
double  start_rpm,
double  stall_rpm,
double  fuel_consumption
 

Definition at line 29 of file Engine.cc.


Member Function Documentation

double Vamos_Body::Engine::drag  )  [inline]
 

Definition at line 162 of file Engine.h.

References m_drag.

double Vamos_Body::Engine::drive_impulse  )  const [inline]
 

Definition at line 143 of file Engine.h.

References m_drive_impulse.

double Vamos_Body::Engine::drive_torque  )  const [inline]
 

Definition at line 141 of file Engine.h.

References m_drive_torque.

Referenced by Vamos_Body::Drivetrain::find_forces().

void Vamos_Body::Engine::find_forces  )  [virtual]
 

Reimplemented from Vamos_Body::Exerter.

Definition at line 86 of file Engine.cc.

References m_drag, m_drive_torque, m_gas, m_rotational_speed, Vamos_Body::Exerter::m_torque, and torque_map().

double Vamos_Body::Engine::fuel_rate  )  const [inline]
 

Definition at line 148 of file Engine.h.

References m_fuel_consumption, m_gas, and m_rotational_speed.

void Vamos_Body::Engine::input double  gas,
double  drag,
double  transmission_speed,
bool  engaged
 

Definition at line 76 of file Engine.cc.

References m_drag, m_engaged, m_gas, and m_transmission_speed.

Referenced by Vamos_Body::Drivetrain::find_forces().

double Vamos_Body::Engine::max_power  )  [inline]
 

Definition at line 165 of file Engine.h.

References m_max_power.

double Vamos_Body::Engine::max_rotational_speed  )  const [inline]
 

Definition at line 136 of file Engine.h.

References m_engine_speed_limit.

void Vamos_Body::Engine::out_of_gas bool  out  )  [inline]
 

Definition at line 152 of file Engine.h.

References m_out_of_gas.

double Vamos_Body::Engine::peak_engine_speed  )  const [inline]
 

Definition at line 138 of file Engine.h.

References m_peak_engine_speed.

void Vamos_Body::Engine::propagate double  time  )  [virtual]
 

Reimplemented from Vamos_Body::Exerter.

Definition at line 94 of file Engine.cc.

References m_drive_torque, m_engaged, m_inertia, m_last_rotational_speed, m_rotational_speed, m_stall_speed, and m_transmission_speed.

Referenced by Vamos_Body::Drivetrain::propagate().

void Vamos_Body::Engine::rewind  )  [virtual]
 

Reimplemented from Vamos_Body::Exerter.

Definition at line 121 of file Engine.cc.

References m_last_rotational_speed, and m_rotational_speed.

Referenced by Vamos_Body::Drivetrain::rewind().

double Vamos_Body::Engine::rotational_speed  )  const [inline]
 

Definition at line 133 of file Engine.h.

References m_rotational_speed.

Referenced by Vamos_Body::Gl_Car::engine_pitch(), Vamos_Body::Gl_Car::engine_volume(), and Vamos_Body::Drivetrain::find_forces().

void Vamos_Body::Engine::set_drag double  newdrag  )  [inline]
 

Definition at line 163 of file Engine.h.

References m_drag.

void Vamos_Body::Engine::set_friction double  friction  )  [inline]
 

Definition at line 115 of file Engine.h.

References m_friction.

Referenced by Vamos_Body::Car::LoadCarDefinition().

void Vamos_Body::Engine::set_rotational_speed double  newrs  )  [inline]
 

Definition at line 161 of file Engine.h.

References m_last_rotational_speed, and m_rotational_speed.

void Vamos_Body::Engine::set_torque_curve const std::vector< Vamos_Geometry::Two_Point > &  torque_points  ) 
 

Definition at line 61 of file Engine.cc.

References Vamos_Geometry::Spline::clear(), Vamos_Geometry::Spline::load(), m_torque_curve, Vamos_Geometry::rpm_to_rad_s(), and Vamos_Geometry::Spline::scale().

Referenced by Vamos_Body::Car::LoadCarDefinition().

void Vamos_Body::Engine::speed double  speed_in  ) 
 

Definition at line 215 of file Engine.cc.

References m_drive_impulse, m_inertia, m_last_rotational_speed, m_rotational_speed, and m_stall_speed.

Referenced by start().

double Vamos_Body::Engine::stall_speed  )  [inline]
 

Definition at line 167 of file Engine.h.

References m_stall_speed.

void Vamos_Body::Engine::start  )  [inline]
 

Definition at line 155 of file Engine.h.

References m_start_speed, and speed().

Referenced by Vamos_Body::Car::start_engine().

double Vamos_Body::Engine::throttle  )  const [inline]
 

Definition at line 145 of file Engine.h.

References m_gas.

Referenced by Vamos_Body::Gl_Car::engine_volume().

double Vamos_Body::Engine::torque_map double  gas,
double  rotational_speed
[private]
 

Definition at line 129 of file Engine.cc.

References m_engine_speed_limit, m_gas, m_idle_throttle, m_max_power, m_out_of_gas, m_peak_engine_speed, m_rotational_speed, m_stall_speed, m_torque_curve, Vamos_Geometry::Spline::size(), and Vamos_Body::Particle::torque().

Referenced by find_forces().


Member Data Documentation

double Vamos_Body::Engine::m_drag [private]
 

Definition at line 70 of file Engine.h.

Referenced by drag(), find_forces(), input(), and set_drag().

double Vamos_Body::Engine::m_drive_impulse [private]
 

Definition at line 84 of file Engine.h.

Referenced by drive_impulse(), and speed().

double Vamos_Body::Engine::m_drive_torque [private]
 

Definition at line 81 of file Engine.h.

Referenced by drive_torque(), find_forces(), and propagate().

bool Vamos_Body::Engine::m_engaged [private]
 

Definition at line 87 of file Engine.h.

Referenced by input(), and propagate().

double Vamos_Body::Engine::m_engine_speed_limit [private]
 

Definition at line 43 of file Engine.h.

Referenced by max_rotational_speed(), and torque_map().

double Vamos_Body::Engine::m_friction [private]
 

Definition at line 95 of file Engine.h.

Referenced by set_friction().

double Vamos_Body::Engine::m_fuel_consumption [private]
 

Definition at line 59 of file Engine.h.

Referenced by fuel_rate().

double Vamos_Body::Engine::m_gas [private]
 

Definition at line 67 of file Engine.h.

Referenced by find_forces(), fuel_rate(), input(), throttle(), and torque_map().

double Vamos_Body::Engine::m_idle [private]
 

Definition at line 78 of file Engine.h.

double Vamos_Body::Engine::m_idle_throttle [private]
 

Definition at line 49 of file Engine.h.

Referenced by torque_map().

double Vamos_Body::Engine::m_inertia [private]
 

Definition at line 46 of file Engine.h.

Referenced by propagate(), and speed().

double Vamos_Body::Engine::m_last_rotational_speed [private]
 

Definition at line 64 of file Engine.h.

Referenced by propagate(), rewind(), set_rotational_speed(), and speed().

double Vamos_Body::Engine::m_max_power [private]
 

Definition at line 37 of file Engine.h.

Referenced by max_power(), and torque_map().

bool Vamos_Body::Engine::m_out_of_gas [private]
 

Definition at line 75 of file Engine.h.

Referenced by out_of_gas(), and torque_map().

double Vamos_Body::Engine::m_peak_engine_speed [private]
 

Definition at line 40 of file Engine.h.

Referenced by peak_engine_speed(), and torque_map().

double Vamos_Body::Engine::m_rotational_speed [private]
 

Definition at line 62 of file Engine.h.

Referenced by find_forces(), fuel_rate(), propagate(), rewind(), rotational_speed(), set_rotational_speed(), speed(), and torque_map().

double Vamos_Body::Engine::m_stall_speed [private]
 

Definition at line 56 of file Engine.h.

Referenced by propagate(), speed(), stall_speed(), and torque_map().

double Vamos_Body::Engine::m_start_speed [private]
 

Definition at line 52 of file Engine.h.

Referenced by start().

Vamos_Geometry::Spline Vamos_Body::Engine::m_torque_curve [private]
 

Definition at line 93 of file Engine.h.

Referenced by set_torque_curve(), and torque_map().

double Vamos_Body::Engine::m_transmission_speed [private]
 

Definition at line 72 of file Engine.h.

Referenced by input(), and propagate().


The documentation for this class was generated from the following files:
Generated on Thu Oct 19 04:12:58 2006 by  doxygen 1.4.6