Vamos_Body::Gl_Car Class Reference

#include <Gl_Car.h>

Inheritance diagram for Vamos_Body::Gl_Car:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Gl_Car (const Vamos_Geometry::Three_Vector &pos)
virtual ~Gl_Car ()
virtual void engine_sound (std::string file, double volume, double throttle_volume_factor, double engine_speed_volume_factor, double pitch)
virtual void exterior_model (std::string file, double scale, const Vamos_Geometry::Three_Vector &translation, const Vamos_Geometry::Three_Vector &rotation)
virtual void interior_model (std::string file, double scale, const Vamos_Geometry::Three_Vector &translation, const Vamos_Geometry::Three_Vector &rotation)
void set_perspective (double aspect)
void set_view (const Vamos_Geometry::Three_Vector &position, double field_of_view, double near_plane, double far_plane, double pan_angle)
void add_rear_view (const Vamos_Geometry::Three_Vector &position, double width, double height, double direction, double field, double near_plane, double far_plane, std::string mask_file)
void dashboard (Dashboard *dash)
void draw (bool transform)
void draw (bool transform, float opacity)
int GetSoundSource ()
int GetTireSoundSource (int i)
void draw_interior ()
void draw_rear_view (double aspect, int index)
void make_rear_view_mask (int window_width, int window_height)
int get_n_mirrors () const
void view (double pan, const Vamos_Geometry::Three_Vector &view_position)
void view (double pan)
Vamos_Geometry::Sampleengine_sound ()
TEXTURE_HANDLEshadow_texture ()
virtual double engine_pitch ()
virtual double engine_volume ()
int GetNumPaintjobs ()
void SetPaint (int pid)
void SetReflectionTexture (TEXTURE_HANDLE *reftid)
JOEMODELGetCollisionModel ()

Protected Member Functions

void draw_string (const std::string &str, double x, double y)

Private Member Functions

void draw_dashboard ()
void draw_dashboard_extras ()
void transform_body ()

Private Attributes

double m_throttle_volume_factor
double m_engine_speed_volume_factor
Vamos_Geometry::Samplemp_engine_sample
int real_engine_sample
int tire_source [4]
JOEMODEL joeinterior
JOEMODEL joeglass
JOEMODEL joeexterior
JOEMODEL joecollision
TEXTURE_HANDLE shadowtex
Dashboardmp_dashboard
std::vector< Rear_View_Mirror * > m_mirrors
double m_near_plane
double m_far_plane
int num_paintjobs

Detailed Description

Definition at line 112 of file Gl_Car.h.


Constructor & Destructor Documentation

Vamos_Body::Gl_Car::Gl_Car const Vamos_Geometry::Three_Vector pos  ) 
 

Definition at line 102 of file Gl_Car.cc.

References num_paintjobs, tire_source, and verbose_output.

Vamos_Body::Gl_Car::~Gl_Car  )  [virtual]
 

Definition at line 118 of file Gl_Car.cc.

References m_mirrors, mp_dashboard, mp_engine_sample, and verbose_output.


Member Function Documentation

void Vamos_Body::Gl_Car::add_rear_view const Vamos_Geometry::Three_Vector position,
double  width,
double  height,
double  direction,
double  field,
double  near_plane,
double  far_plane,
std::string  mask_file
[virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 235 of file Gl_Car.cc.

References m_mirrors.

void Vamos_Body::Gl_Car::dashboard Dashboard dash  )  [virtual]
 

Implements Vamos_Body::Car.

Definition at line 409 of file Gl_Car.cc.

References mp_dashboard.

void Vamos_Body::Gl_Car::draw bool  transform,
float  opacity
 

Definition at line 470 of file Gl_Car.cc.

References Vamos_Body::Car::brakesetting, Vamos_Body::Wheel::draw(), JOEMODEL::DrawStatic(), joeexterior, joeglass, joeinterior, Vamos_Body::Car::m_wheels, UTILITY::SelectTU(), JOEMODEL::SetTU(), transform_body(), and utility.

void Vamos_Body::Gl_Car::draw bool  transform  )  [inline, virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 198 of file Gl_Car.h.

Referenced by VGUI::SpinningCar::Draw().

void Vamos_Body::Gl_Car::draw_dashboard  )  [private]
 

Definition at line 568 of file Gl_Car.cc.

References Vamos_Body::Dashboard::draw(), draw_dashboard_extras(), Vamos_Body::Car::engine(), Vamos_Body::Car::fuel_tank(), Vamos_Body::Car::gear(), Vamos_Geometry::m_s_to_km_h(), Vamos_Body::Car::m_show_dashboard_extras, Vamos_Body::Car::m_steer_key_control, mp_dashboard, Vamos_Geometry::rad_s_to_rpm(), Vamos_Body::Dashboard::set_fuel_gauge(), Vamos_Body::Dashboard::set_gear_indicator(), Vamos_Body::Dashboard::set_speedometer(), Vamos_Body::Dashboard::set_steering_wheel(), Vamos_Body::Dashboard::set_tachometer(), Vamos_Body::Car::transmission(), Vamos_Body::Key_Control::value(), and Vamos_Body::Car::wheel().

Referenced by draw_interior().

void Vamos_Body::Gl_Car::draw_dashboard_extras  )  [private]
 

Definition at line 595 of file Gl_Car.cc.

References draw_string(), Vamos_Body::Car::engine(), Vamos_Body::Fuel_Tank::fuel(), Vamos_Body::Transmission::gear(), Vamos_Body::Car::gear(), Vamos_Body::Car::m_chassis, Vamos_Geometry::m_s_to_km_h(), Vamos_Body::Car::m_wheels, Vamos_Body::Rigid_Body::mass(), Vamos_Body::Car::mp_fuel_tank, Vamos_Geometry::rad_s_to_rpm(), Vamos_Body::Car::transmission(), and Vamos_Body::Car::wheel().

Referenced by draw_dashboard().

void Vamos_Body::Gl_Car::draw_interior  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 557 of file Gl_Car.cc.

References draw_dashboard().

void Vamos_Body::Gl_Car::draw_rear_view double  aspect,
int  index
[virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 400 of file Gl_Car.cc.

References Vamos_Body::Rear_View_Mirror::get_center(), Vamos_Body::Rear_View_Mirror::get_direction(), m_mirrors, Vamos_Body::Rear_View_Mirror::set_view(), and view().

void Vamos_Body::Gl_Car::draw_string const std::string &  str,
double  x,
double  y
[protected]
 

Definition at line 584 of file Gl_Car.cc.

References font, and FONT::Print().

Referenced by draw_dashboard_extras().

double Vamos_Body::Gl_Car::engine_pitch  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 746 of file Gl_Car.cc.

References Vamos_Body::Car::engine(), and Vamos_Body::Engine::rotational_speed().

Vamos_Geometry::Sample* Vamos_Body::Gl_Car::engine_sound  )  [inline, virtual]
 

Implements Vamos_Body::Car.

Definition at line 214 of file Gl_Car.h.

References mp_engine_sample.

void Vamos_Body::Gl_Car::engine_sound std::string  file,
double  volume,
double  throttle_volume_factor,
double  engine_speed_volume_factor,
double  pitch
[virtual]
 

Implements Vamos_Body::Car.

Definition at line 712 of file Gl_Car.cc.

References SETTINGS::GetFullDataPath(), Vamos_Body::Car::m_car_file, m_engine_speed_volume_factor, m_throttle_volume_factor, mp_engine_sample, SOUNDMANAGER::NewSource(), real_engine_sample, SOUNDMANAGER::SetGain(), settings, sound, and tire_source.

double Vamos_Body::Gl_Car::engine_volume  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 752 of file Gl_Car.cc.

References Vamos_Body::Car::engine(), m_engine_speed_volume_factor, m_throttle_volume_factor, Vamos_Body::Engine::rotational_speed(), and Vamos_Body::Engine::throttle().

void Vamos_Body::Gl_Car::exterior_model std::string  file,
double  scale,
const Vamos_Geometry::Three_Vector translation,
const Vamos_Geometry::Three_Vector rotation
[virtual]
 

Implements Vamos_Body::Car.

Definition at line 162 of file Gl_Car.cc.

References JOEMODEL::AdditiveTexture(), UTILITY::FileExists(), SETTINGS::Get(), SETTINGS::GetFullDataPath(), joecollision, joeexterior, joeglass, JOEMODEL::Load(), TEXTURE_HANDLE::Load(), Vamos_Body::Car::m_car_file, num_paintjobs, settings, shadowtex, and utility.

int Vamos_Body::Gl_Car::get_n_mirrors  )  const [inline, virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 207 of file Gl_Car.h.

References m_mirrors.

JOEMODEL* Vamos_Body::Gl_Car::GetCollisionModel  )  [inline, virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 226 of file Gl_Car.h.

References joecollision.

int Vamos_Body::Gl_Car::GetNumPaintjobs  )  [inline]
 

Definition at line 222 of file Gl_Car.h.

References num_paintjobs.

Referenced by VGUI::SpinningCar::LoadCar().

int Vamos_Body::Gl_Car::GetSoundSource  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 758 of file Gl_Car.cc.

References real_engine_sample.

int Vamos_Body::Gl_Car::GetTireSoundSource int  i  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 763 of file Gl_Car.cc.

References tire_source.

void Vamos_Body::Gl_Car::interior_model std::string  file,
double  scale,
const Vamos_Geometry::Three_Vector translation,
const Vamos_Geometry::Three_Vector rotation
[virtual]
 

Implements Vamos_Body::Car.

Definition at line 199 of file Gl_Car.cc.

References SETTINGS::GetFullDataPath(), joeinterior, JOEMODEL::Load(), Vamos_Body::Car::m_car_file, and settings.

void Vamos_Body::Gl_Car::make_rear_view_mask int  window_width,
int  window_height
[virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 250 of file Gl_Car.cc.

References Vamos_Body::Car::field_of_view(), Vamos_Body::Car::m_driver_view, m_mirrors, transform_body(), and view().

void Vamos_Body::Gl_Car::set_perspective double  aspect  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 216 of file Gl_Car.cc.

References m_far_plane, Vamos_Body::Car::m_field_of_view, and m_near_plane.

void Vamos_Body::Gl_Car::set_view const Vamos_Geometry::Three_Vector position,
double  field_of_view,
double  near_plane,
double  far_plane,
double  pan_angle
[virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 222 of file Gl_Car.cc.

References Vamos_Body::Car::m_driver_view, m_far_plane, Vamos_Body::Car::m_field_of_view, m_near_plane, and Vamos_Body::Car::m_pan_angle.

void Vamos_Body::Gl_Car::SetPaint int  pid  ) 
 

Definition at line 768 of file Gl_Car.cc.

References SETTINGS::GetFullDataPath(), joeexterior, Vamos_Body::Car::m_car_file, num_paintjobs, settings, and JOEMODEL::Texture().

Referenced by VGUI::SpinningCar::DecValueRelease(), VGUI::SpinningCar::IncValueRelease(), VGUI::SpinningCar::MouseRelease(), VGUI::SpinningCar::ResetValue(), and SelectCar().

void Vamos_Body::Gl_Car::SetReflectionTexture TEXTURE_HANDLE reftid  )  [inline, virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 224 of file Gl_Car.h.

References joeexterior, joeglass, and JOEMODEL::ReflectionTextureID().

Referenced by VGUI::SpinningCar::Draw().

TEXTURE_HANDLE * Vamos_Body::Gl_Car::shadow_texture  )  [virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 564 of file Gl_Car.cc.

References shadowtex.

void Vamos_Body::Gl_Car::transform_body  )  [private]
 

Definition at line 419 of file Gl_Car.cc.

References Vamos_Body::Frame::axis_angle(), Vamos_Body::Rigid_Body::center_of_mass(), QUATERNION::GetMat(), LightPosition, Vamos_Body::Car::m_chassis, Vamos_Body::Rigid_Body::position(), QUATERNION::ReturnConjugate(), QUATERNION::Rotate(), QUATERNION::RotateVec(), VERTEX::Set(), QUATERNION::SetAxisAngle(), VERTEX::x, VERTEX::y, and VERTEX::z.

Referenced by draw(), and make_rear_view_mask().

void Vamos_Body::Gl_Car::view double  pan  )  [inline, virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 211 of file Gl_Car.h.

References Vamos_Body::Car::m_driver_view, and view().

void Vamos_Body::Gl_Car::view double  pan,
const Vamos_Geometry::Three_Vector view_position
[virtual]
 

Reimplemented from Vamos_Body::Car.

Definition at line 685 of file Gl_Car.cc.

References Vamos_Body::Frame::axis_angle(), Vamos_Body::Rigid_Body::center_of_mass(), Vamos_Body::Car::m_chassis, Vamos_Body::Car::m_pan_key_control, Vamos_Body::Frame::rotate_out(), Vamos_Body::Frame::transform_out(), Vamos_Body::Key_Control::value(), and Vamos_Body::Car::view_position().

Referenced by draw_rear_view(), make_rear_view_mask(), and view().


Member Data Documentation

JOEMODEL Vamos_Body::Gl_Car::joecollision [private]
 

Definition at line 127 of file Gl_Car.h.

Referenced by exterior_model(), and GetCollisionModel().

JOEMODEL Vamos_Body::Gl_Car::joeexterior [private]
 

Definition at line 126 of file Gl_Car.h.

Referenced by draw(), exterior_model(), SetPaint(), and SetReflectionTexture().

JOEMODEL Vamos_Body::Gl_Car::joeglass [private]
 

Definition at line 125 of file Gl_Car.h.

Referenced by draw(), exterior_model(), and SetReflectionTexture().

JOEMODEL Vamos_Body::Gl_Car::joeinterior [private]
 

Definition at line 124 of file Gl_Car.h.

Referenced by draw(), and interior_model().

double Vamos_Body::Gl_Car::m_engine_speed_volume_factor [private]
 

Definition at line 115 of file Gl_Car.h.

Referenced by engine_sound(), and engine_volume().

double Vamos_Body::Gl_Car::m_far_plane [private]
 

Definition at line 137 of file Gl_Car.h.

Referenced by set_perspective(), and set_view().

std::vector<Rear_View_Mirror*> Vamos_Body::Gl_Car::m_mirrors [private]
 

Definition at line 133 of file Gl_Car.h.

Referenced by add_rear_view(), draw_rear_view(), get_n_mirrors(), make_rear_view_mask(), and ~Gl_Car().

double Vamos_Body::Gl_Car::m_near_plane [private]
 

Definition at line 136 of file Gl_Car.h.

Referenced by set_perspective(), and set_view().

double Vamos_Body::Gl_Car::m_throttle_volume_factor [private]
 

Definition at line 114 of file Gl_Car.h.

Referenced by engine_sound(), and engine_volume().

Dashboard* Vamos_Body::Gl_Car::mp_dashboard [private]
 

Definition at line 131 of file Gl_Car.h.

Referenced by dashboard(), draw_dashboard(), and ~Gl_Car().

Vamos_Geometry::Sample* Vamos_Body::Gl_Car::mp_engine_sample [private]
 

Definition at line 118 of file Gl_Car.h.

Referenced by engine_sound(), and ~Gl_Car().

int Vamos_Body::Gl_Car::num_paintjobs [private]
 

Definition at line 148 of file Gl_Car.h.

Referenced by exterior_model(), GetNumPaintjobs(), Gl_Car(), and SetPaint().

int Vamos_Body::Gl_Car::real_engine_sample [private]
 

Definition at line 120 of file Gl_Car.h.

Referenced by engine_sound(), and GetSoundSource().

TEXTURE_HANDLE Vamos_Body::Gl_Car::shadowtex [private]
 

Definition at line 128 of file Gl_Car.h.

Referenced by exterior_model(), and shadow_texture().

int Vamos_Body::Gl_Car::tire_source[4] [private]
 

Definition at line 121 of file Gl_Car.h.

Referenced by engine_sound(), GetTireSoundSource(), and Gl_Car().


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