Vamos_Body::Wheel Class Reference

#include <Wheel.h>

Inheritance diagram for Vamos_Body::Wheel:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Wheel (double mass, Vamos_Geometry::Three_Vector position, double tire_offset, double roll_height, double restitution, Suspension *suspension, const Tire &tire, const Brake &brake, bool steered, bool driven, Vamos_Geometry::Side side)
void find_forces ()
Suspensionsuspension ()
Vamos_Geometry::Three_Vector ang_velocity ()
void set_ang_velocity (Vamos_Geometry::Three_Vector newvel)
void propagate (double time)
void rewind ()
double contact (const Vamos_Geometry::Three_Vector &position, const Vamos_Geometry::Inertia_Tensor &inertia, const Vamos_Geometry::Three_Vector &vecocity, double distance, const Vamos_Geometry::Three_Vector &normal, const Vamos_Geometry::Three_Vector &ang_velocity, Vamos_Geometry::Material_Handle material)
void drive_torque (double torque_in)
void brake (double factor)
double get_handbrake_multiplier ()
void steer (double degree_angle)
double slide () const
double rotational_speed () const
void set_rotational_speed (double newrs)
double speed () const
double GetFeedback ()
Vamos_Geometry::Three_Vector force_position () const
Vamos_Geometry::Three_Vector contact_position () const
Vamos_Geometry::Three_Vector position () const
double slip () const
void reset ()
bool single_contact () const
bool steered () const
bool driven () const
Vamos_Geometry::Side side () const
void set_models (std::string slow_file, std::string fast_file, double transition_speed, std::string stator_file, double stator_offset, double scale, const Vamos_Geometry::Three_Vector &translation, const Vamos_Geometry::Three_Vector &rotation)
void draw ()
void SetColParams (double f1, double f2, double rr, double rd)

Private Member Functions

void transform ()

Private Attributes

Vamos_Geometry::Three_Vector m_original_position
double m_tire_offset
double m_roll_height
Suspensionmp_suspension
Tire m_tire
Brake m_brake
Vamos_Geometry::Three_Vector m_ground_velocity
Vamos_Geometry::Three_Vector m_normal
Vamos_Geometry::Three_Vector m_ang_velocity
Vamos_Geometry::Material_Handle m_material
double m_tire_torque
double m_drive_torque
double m_braking_torque
bool m_steered
bool m_driven
Vamos_Geometry::Side m_side
double m_transition_speed
double m_rotation
JOEMODEL model

Detailed Description

Definition at line 44 of file Wheel.h.


Constructor & Destructor Documentation

Vamos_Body::Wheel::Wheel double  mass,
Vamos_Geometry::Three_Vector  position,
double  tire_offset,
double  roll_height,
double  restitution,
Suspension suspension,
const Tire tire,
const Brake brake,
bool  steered,
bool  driven,
Vamos_Geometry::Side  side
 

Definition at line 32 of file Wheel.cc.


Member Function Documentation

Vamos_Geometry::Three_Vector Vamos_Body::Wheel::ang_velocity  ) 
 

Definition at line 315 of file Wheel.cc.

References m_ang_velocity.

Referenced by contact().

void Vamos_Body::Wheel::brake double  factor  ) 
 

Definition at line 160 of file Wheel.cc.

References m_brake, m_braking_torque, m_tire, Vamos_Body::Tire::rotational_speed(), and Vamos_Body::Brake::torque().

double Vamos_Body::Wheel::contact const Vamos_Geometry::Three_Vector position,
const Vamos_Geometry::Inertia_Tensor inertia,
const Vamos_Geometry::Three_Vector vecocity,
double  distance,
const Vamos_Geometry::Three_Vector normal,
const Vamos_Geometry::Three_Vector ang_velocity,
Vamos_Geometry::Material_Handle  material
[virtual]
 

Reimplemented from Vamos_Body::Contact_Point.

Definition at line 114 of file Wheel.cc.

References ang_velocity(), Vamos_Body::Suspension::bottomed_out(), Vamos_Body::Particle::contact(), Vamos_Body::Contact_Point::m_contact, Vamos_Body::Particle::material(), mp_suspension, position(), Vamos_Body::Frame::rotate_in(), and Vamos_Body::Frame::velocity().

Three_Vector Vamos_Body::Wheel::contact_position  )  const [virtual]
 

Reimplemented from Vamos_Body::Particle.

Definition at line 177 of file Wheel.cc.

References Vamos_Body::Tire::contact_position(), m_original_position, m_tire, and m_tire_offset.

void Vamos_Body::Wheel::draw  ) 
 

Definition at line 284 of file Wheel.cc.

References Vamos_Body::Suspension::draw(), JOEMODEL::DrawStatic(), m_side, model, mp_suspension, Vamos_Geometry::RIGHT, and transform().

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

void Vamos_Body::Wheel::drive_torque double  torque_in  ) 
 

Definition at line 152 of file Wheel.cc.

References m_drive_torque.

bool Vamos_Body::Wheel::driven  )  const [inline]
 

Definition at line 200 of file Wheel.h.

References m_driven.

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

Reimplemented from Vamos_Body::Contact_Point.

Definition at line 70 of file Wheel.cc.

References Vamos_Body::Suspension::current_camber(), Vamos_Body::Tire::find_forces(), Vamos_Body::Particle::force(), Vamos_Body::Suspension::force(), Vamos_Body::Tire::input(), Vamos_Body::Brake::is_locked(), m_ang_velocity, m_brake, m_braking_torque, Vamos_Body::Contact_Point::m_contact, m_drive_torque, Vamos_Body::Exerter::m_force, m_ground_velocity, Vamos_Body::Exerter::m_impulse, m_material, m_normal, m_original_position, Vamos_Body::Frame::m_position, m_tire, Vamos_Body::Exerter::m_torque, mp_suspension, Vamos_Geometry::Three_Vector::project(), Vamos_Body::Suspension::reset(), Vamos_Body::Particle::torque(), Vamos_Geometry::Three_Vector::unit(), and Vamos_Geometry::Three_Vector::zero().

Three_Vector Vamos_Body::Wheel::force_position  )  const [virtual]
 

Reimplemented from Vamos_Body::Particle.

Definition at line 168 of file Wheel.cc.

References Vamos_Body::Tire::contact_position(), Vamos_Body::Frame::m_position, m_roll_height, m_tire, and m_tire_offset.

double Vamos_Body::Wheel::get_handbrake_multiplier  )  [inline]
 

Definition at line 160 of file Wheel.h.

References Vamos_Body::Brake::handbrake(), and m_brake.

double Vamos_Body::Wheel::GetFeedback  )  [inline]
 

Definition at line 179 of file Wheel.h.

References Vamos_Body::Tire::GetFeedback(), and m_tire.

Three_Vector Vamos_Body::Wheel::position  )  const
 

Reimplemented from Vamos_Body::Frame.

Definition at line 185 of file Wheel.cc.

References Vamos_Body::Frame::m_position.

Referenced by contact().

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 97 of file Wheel.cc.

References m_rotation, m_tire, mp_suspension, Vamos_Body::Frame::orient(), Vamos_Body::Frame::orientation(), Vamos_Body::Tire::propagate(), Vamos_Body::Tire::radius(), and speed().

void Vamos_Body::Wheel::reset  )  [virtual]
 

Reimplemented from Vamos_Body::Exerter.

Definition at line 201 of file Wheel.cc.

References m_tire, Vamos_Body::Tire::reset(), and Vamos_Body::Exerter::reset().

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 106 of file Wheel.cc.

References m_tire, and Vamos_Body::Tire::rewind().

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

Definition at line 171 of file Wheel.h.

References m_tire, and Vamos_Body::Tire::rotational_speed().

void Vamos_Body::Wheel::set_ang_velocity Vamos_Geometry::Three_Vector  newvel  )  [inline]
 

Reimplemented from Vamos_Body::Frame.

Definition at line 136 of file Wheel.h.

References m_ang_velocity.

void Vamos_Body::Wheel::set_models std::string  slow_file,
std::string  fast_file,
double  transition_speed,
std::string  stator_file,
double  stator_offset,
double  scale,
const Vamos_Geometry::Three_Vector translation,
const Vamos_Geometry::Three_Vector rotation
 

Definition at line 219 of file Wheel.cc.

References JOEMODEL::Load(), m_side, m_transition_speed, model, and Vamos_Geometry::RIGHT.

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

Definition at line 173 of file Wheel.h.

References m_tire, and Vamos_Body::Tire::set_rotational_speed().

void Vamos_Body::Wheel::SetColParams double  f1,
double  f2,
double  rr,
double  rd
[inline]
 

Definition at line 214 of file Wheel.h.

References m_tire, and Vamos_Body::Tire::SetSurfaceParams().

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

Vamos_Geometry::Side Vamos_Body::Wheel::side  )  const [inline]
 

Definition at line 202 of file Wheel.h.

References m_side.

bool Vamos_Body::Wheel::single_contact  )  const [inline, virtual]
 

Reimplemented from Vamos_Body::Contact_Point.

Definition at line 197 of file Wheel.h.

double Vamos_Body::Wheel::slide  )  const [inline]
 

Definition at line 168 of file Wheel.h.

References m_tire, and Vamos_Body::Tire::slide().

double Vamos_Body::Wheel::slip  )  const
 

Definition at line 192 of file Wheel.cc.

References m_ground_velocity, and speed().

double Vamos_Body::Wheel::speed  )  const [inline]
 

Definition at line 177 of file Wheel.h.

References m_tire, and Vamos_Body::Tire::speed().

Referenced by propagate(), and slip().

void Vamos_Body::Wheel::steer double  degree_angle  )  [inline]
 

Definition at line 163 of file Wheel.h.

References mp_suspension, and Vamos_Body::Suspension::steer().

bool Vamos_Body::Wheel::steered  )  const [inline]
 

Definition at line 199 of file Wheel.h.

References m_steered.

Vamos_Body::Suspension * Vamos_Body::Wheel::suspension  ) 
 

Definition at line 309 of file Wheel.cc.

References mp_suspension.

void Vamos_Body::Wheel::transform  )  [private]
 

Definition at line 266 of file Wheel.cc.

References Vamos_Body::Frame::axis_angle(), Vamos_Body::Frame::m_position, and m_rotation.

Referenced by draw().


Member Data Documentation

Vamos_Geometry::Three_Vector Vamos_Body::Wheel::m_ang_velocity [private]
 

Reimplemented from Vamos_Body::Frame.

Definition at line 74 of file Wheel.h.

Referenced by ang_velocity(), find_forces(), and set_ang_velocity().

Brake Vamos_Body::Wheel::m_brake [private]
 

Definition at line 65 of file Wheel.h.

Referenced by brake(), find_forces(), and get_handbrake_multiplier().

double Vamos_Body::Wheel::m_braking_torque [private]
 

Definition at line 84 of file Wheel.h.

Referenced by brake(), and find_forces().

double Vamos_Body::Wheel::m_drive_torque [private]
 

Definition at line 82 of file Wheel.h.

Referenced by drive_torque(), and find_forces().

bool Vamos_Body::Wheel::m_driven [private]
 

Definition at line 90 of file Wheel.h.

Referenced by driven().

Vamos_Geometry::Three_Vector Vamos_Body::Wheel::m_ground_velocity [private]
 

Definition at line 68 of file Wheel.h.

Referenced by find_forces(), and slip().

Vamos_Geometry::Material_Handle Vamos_Body::Wheel::m_material [private]
 

Reimplemented from Vamos_Body::Particle.

Definition at line 77 of file Wheel.h.

Referenced by find_forces().

Vamos_Geometry::Three_Vector Vamos_Body::Wheel::m_normal [private]
 

Definition at line 71 of file Wheel.h.

Referenced by find_forces().

Vamos_Geometry::Three_Vector Vamos_Body::Wheel::m_original_position [private]
 

Definition at line 49 of file Wheel.h.

Referenced by contact_position(), and find_forces().

double Vamos_Body::Wheel::m_roll_height [private]
 

Definition at line 55 of file Wheel.h.

Referenced by force_position().

double Vamos_Body::Wheel::m_rotation [private]
 

Definition at line 104 of file Wheel.h.

Referenced by propagate(), and transform().

Vamos_Geometry::Side Vamos_Body::Wheel::m_side [private]
 

Definition at line 93 of file Wheel.h.

Referenced by draw(), set_models(), and side().

bool Vamos_Body::Wheel::m_steered [private]
 

Definition at line 87 of file Wheel.h.

Referenced by steered().

Tire Vamos_Body::Wheel::m_tire [private]
 

Definition at line 62 of file Wheel.h.

Referenced by brake(), contact_position(), find_forces(), force_position(), GetFeedback(), propagate(), reset(), rewind(), rotational_speed(), set_rotational_speed(), SetColParams(), slide(), and speed().

double Vamos_Body::Wheel::m_tire_offset [private]
 

Definition at line 51 of file Wheel.h.

Referenced by contact_position(), and force_position().

double Vamos_Body::Wheel::m_tire_torque [private]
 

Definition at line 80 of file Wheel.h.

double Vamos_Body::Wheel::m_transition_speed [private]
 

Definition at line 101 of file Wheel.h.

Referenced by set_models().

JOEMODEL Vamos_Body::Wheel::model [private]
 

Definition at line 106 of file Wheel.h.

Referenced by draw(), and set_models().

Suspension* Vamos_Body::Wheel::mp_suspension [private]
 

Definition at line 59 of file Wheel.h.

Referenced by contact(), draw(), find_forces(), propagate(), steer(), and suspension().


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