Vamos_Body::Suspension Class Reference

#include <Suspension.h>

Inheritance diagram for Vamos_Body::Suspension:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Suspension (const Vamos_Geometry::Three_Vector &position, const Vamos_Geometry::Three_Vector &center_of_translation, Vamos_Geometry::Side side_of_car, double spring_constant, double bounce, double rebound, double travel, double max_compression_velocity)
 ~Suspension ()
void steer (double degree_angle)
double compression_velocity ()
void set_compression_velocity (double newcv)
void set_displacement (double newdisp)
void camber (double degree_angle)
void caster (double degree_angle)
void toe (double degree_angle)
Hingehinge () const
Vamos_Geometry::Three_Vector force () const
Vamos_Geometry::Three_Vector torque () const
void input (const Vamos_Geometry::Three_Vector &wheel_force, const Vamos_Geometry::Three_Vector &normal)
void torque (double wheel_torque)
void find_forces ()
void propagate (double time)
void rewind ()
void anti_roll (Suspension *other, double spring_constant)
void displace (double distance)
double displacement () const
bool bottomed_out () const
double camber_function (double displacement) const
double current_camber (double normal_y) const
void reset ()
void set_model (std::string file_name, double scale, const Vamos_Geometry::Three_Vector &translation, const Vamos_Geometry::Three_Vector &rotation)
void draw ()

Private Attributes

Hingemp_hinge
Vamos_Geometry::Three_Vector m_radius
Vamos_Geometry::Three_Vector m_tangent
double m_radius_magnitude
double m_angle
double m_initial_z
double m_spring_constant
double m_bounce
double m_rebound
double m_travel
double m_displacement
double m_time_step
double m_compression_velocity
double m_max_compression_velocity
bool m_bottomed_out
double m_anti_roll_k
Suspensionm_anti_roll_suspension
Vamos_Geometry::Three_Vector m_wheel_force
double m_steer_angle
double m_camber
double m_caster
double m_toe
Vamos_Geometry::Side m_side
Vamos_Geometry::Three_Matrix m_static_orientation
Vamos_Geometry::Three_Vector m_normal

Static Private Attributes

static const Vamos_Geometry::Three_Vector STEER_AXIS = Three_Vector (0.0, 0.0, 1.0)

Detailed Description

Definition at line 47 of file Suspension.h.


Constructor & Destructor Documentation

Vamos_Body::Suspension::Suspension const Vamos_Geometry::Three_Vector position,
const Vamos_Geometry::Three_Vector center_of_translation,
Vamos_Geometry::Side  side_of_car,
double  spring_constant,
double  bounce,
double  rebound,
double  travel,
double  max_compression_velocity
 

Definition at line 79 of file Suspension.cc.

References Vamos_Geometry::Three_Matrix::identity(), Vamos_Body::Frame::m_position, m_radius, m_radius_magnitude, m_static_orientation, and Vamos_Geometry::Three_Vector::magnitude().

Vamos_Body::Suspension::~Suspension  ) 
 

Definition at line 117 of file Suspension.cc.


Member Function Documentation

void Vamos_Body::Suspension::anti_roll Suspension other,
double  spring_constant
 

Definition at line 131 of file Suspension.cc.

References m_anti_roll_k, and m_anti_roll_suspension.

bool Vamos_Body::Suspension::bottomed_out  )  const [inline]
 

Definition at line 191 of file Suspension.h.

References m_bottomed_out.

Referenced by Vamos_Body::Wheel::contact().

void Vamos_Body::Suspension::camber double  degree_angle  ) 
 

Definition at line 276 of file Suspension.cc.

References Vamos_Geometry::deg_to_rad(), Vamos_Geometry::LEFT, m_camber, m_side, m_static_orientation, and Vamos_Geometry::Three_Matrix::rotate().

double Vamos_Body::Suspension::camber_function double  displacement  )  const
 

Definition at line 315 of file Suspension.cc.

void Vamos_Body::Suspension::caster double  degree_angle  ) 
 

Definition at line 289 of file Suspension.cc.

References Vamos_Geometry::deg_to_rad(), m_caster, m_static_orientation, and Vamos_Geometry::Three_Matrix::rotate().

double Vamos_Body::Suspension::compression_velocity  )  [inline]
 

Definition at line 144 of file Suspension.h.

References m_compression_velocity.

double Vamos_Body::Suspension::current_camber double  normal_y  )  const
 

Definition at line 321 of file Suspension.cc.

References Vamos_Geometry::clip().

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

void Vamos_Body::Suspension::displace double  distance  ) 
 

Definition at line 143 of file Suspension.cc.

References m_angle, m_bottomed_out, m_compression_velocity, m_displacement, m_initial_z, Vamos_Body::Frame::m_position, m_radius, m_radius_magnitude, m_tangent, m_time_step, m_travel, mp_hinge, Vamos_Geometry::pi, Vamos_Body::Frame::position(), and Vamos_Geometry::Three_Vector::unit().

double Vamos_Body::Suspension::displacement  )  const [inline]
 

Definition at line 187 of file Suspension.h.

References m_displacement.

void Vamos_Body::Suspension::draw  ) 
 

Definition at line 358 of file Suspension.cc.

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

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 203 of file Suspension.cc.

References m_anti_roll_k, m_anti_roll_suspension, m_bottomed_out, m_bounce, m_compression_velocity, m_displacement, Vamos_Body::Exerter::m_force, m_max_compression_velocity, m_normal, m_rebound, m_spring_constant, m_travel, Vamos_Body::Frame::rotate_in(), and Vamos_Geometry::Three_Vector::zero().

Vamos_Geometry::Three_Vector Vamos_Body::Suspension::force  )  const [inline, virtual]
 

Reimplemented from Vamos_Body::Particle.

Definition at line 159 of file Suspension.h.

References Vamos_Body::Particle::force().

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

Hinge* Vamos_Body::Suspension::hinge  )  const [inline]
 

Definition at line 157 of file Suspension.h.

References mp_hinge.

void Vamos_Body::Suspension::input const Vamos_Geometry::Three_Vector wheel_force,
const Vamos_Geometry::Three_Vector normal
 

Definition at line 188 of file Suspension.cc.

References m_normal, m_wheel_force, and Vamos_Body::Frame::rotate_out().

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 252 of file Suspension.cc.

References m_static_orientation, m_steer_angle, m_time_step, Vamos_Body::Frame::orient(), Vamos_Body::Frame::rotate(), and STEER_AXIS.

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 328 of file Suspension.cc.

References m_displacement, Vamos_Body::Exerter::m_force, and Vamos_Geometry::Three_Vector::zero().

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

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

Reimplemented from Vamos_Body::Exerter.

Definition at line 263 of file Suspension.cc.

void Vamos_Body::Suspension::set_compression_velocity double  newcv  )  [inline]
 

Definition at line 145 of file Suspension.h.

References m_compression_velocity.

void Vamos_Body::Suspension::set_displacement double  newdisp  )  [inline]
 

Definition at line 146 of file Suspension.h.

References m_displacement.

void Vamos_Body::Suspension::set_model std::string  file_name,
double  scale,
const Vamos_Geometry::Three_Vector translation,
const Vamos_Geometry::Three_Vector rotation
 

Definition at line 336 of file Suspension.cc.

References Vamos_Geometry::LEFT, m_side, Vamos_Body::Frame::orientation(), and Vamos_Body::Frame::position().

void Vamos_Body::Suspension::steer double  degree_angle  ) 
 

Definition at line 269 of file Suspension.cc.

References Vamos_Geometry::deg_to_rad(), and m_steer_angle.

Referenced by Vamos_Body::Wheel::steer().

void Vamos_Body::Suspension::toe double  degree_angle  ) 
 

Definition at line 301 of file Suspension.cc.

References Vamos_Geometry::deg_to_rad(), Vamos_Geometry::LEFT, m_side, m_static_orientation, m_toe, Vamos_Geometry::Three_Matrix::rotate(), and STEER_AXIS.

void Vamos_Body::Suspension::torque double  wheel_torque  ) 
 

Definition at line 196 of file Suspension.cc.

References Vamos_Body::Hinge::input(), m_radius, and mp_hinge.

Vamos_Geometry::Three_Vector Vamos_Body::Suspension::torque  )  const [inline, virtual]
 

Reimplemented from Vamos_Body::Particle.

Definition at line 160 of file Suspension.h.

References Vamos_Body::Particle::torque().


Member Data Documentation

double Vamos_Body::Suspension::m_angle [private]
 

Definition at line 58 of file Suspension.h.

Referenced by displace().

double Vamos_Body::Suspension::m_anti_roll_k [private]
 

Definition at line 94 of file Suspension.h.

Referenced by anti_roll(), and find_forces().

Suspension* Vamos_Body::Suspension::m_anti_roll_suspension [private]
 

Definition at line 98 of file Suspension.h.

Referenced by anti_roll(), and find_forces().

bool Vamos_Body::Suspension::m_bottomed_out [private]
 

Definition at line 90 of file Suspension.h.

Referenced by bottomed_out(), displace(), and find_forces().

double Vamos_Body::Suspension::m_bounce [private]
 

Definition at line 65 of file Suspension.h.

Referenced by find_forces().

double Vamos_Body::Suspension::m_camber [private]
 

Definition at line 109 of file Suspension.h.

Referenced by camber().

double Vamos_Body::Suspension::m_caster [private]
 

Definition at line 112 of file Suspension.h.

Referenced by caster().

double Vamos_Body::Suspension::m_compression_velocity [private]
 

Definition at line 82 of file Suspension.h.

Referenced by compression_velocity(), displace(), find_forces(), and set_compression_velocity().

double Vamos_Body::Suspension::m_displacement [private]
 

Definition at line 75 of file Suspension.h.

Referenced by displace(), displacement(), find_forces(), reset(), and set_displacement().

double Vamos_Body::Suspension::m_initial_z [private]
 

Definition at line 59 of file Suspension.h.

Referenced by displace().

double Vamos_Body::Suspension::m_max_compression_velocity [private]
 

Definition at line 86 of file Suspension.h.

Referenced by find_forces().

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

Definition at line 126 of file Suspension.h.

Referenced by find_forces(), and input().

Vamos_Geometry::Three_Vector Vamos_Body::Suspension::m_radius [private]
 

Definition at line 55 of file Suspension.h.

Referenced by displace(), Suspension(), and torque().

double Vamos_Body::Suspension::m_radius_magnitude [private]
 

Definition at line 57 of file Suspension.h.

Referenced by displace(), and Suspension().

double Vamos_Body::Suspension::m_rebound [private]
 

Definition at line 68 of file Suspension.h.

Referenced by find_forces().

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

Definition at line 120 of file Suspension.h.

Referenced by camber(), set_model(), and toe().

double Vamos_Body::Suspension::m_spring_constant [private]
 

Definition at line 62 of file Suspension.h.

Referenced by find_forces().

Vamos_Geometry::Three_Matrix Vamos_Body::Suspension::m_static_orientation [private]
 

Definition at line 124 of file Suspension.h.

Referenced by camber(), caster(), propagate(), Suspension(), and toe().

double Vamos_Body::Suspension::m_steer_angle [private]
 

Definition at line 103 of file Suspension.h.

Referenced by propagate(), and steer().

Vamos_Geometry::Three_Vector Vamos_Body::Suspension::m_tangent [private]
 

Definition at line 56 of file Suspension.h.

Referenced by displace().

double Vamos_Body::Suspension::m_time_step [private]
 

Definition at line 79 of file Suspension.h.

Referenced by displace(), and propagate().

double Vamos_Body::Suspension::m_toe [private]
 

Definition at line 115 of file Suspension.h.

Referenced by toe().

double Vamos_Body::Suspension::m_travel [private]
 

Definition at line 71 of file Suspension.h.

Referenced by displace(), and find_forces().

Vamos_Geometry::Three_Vector Vamos_Body::Suspension::m_wheel_force [private]
 

Definition at line 100 of file Suspension.h.

Referenced by input().

Hinge* Vamos_Body::Suspension::mp_hinge [private]
 

Definition at line 54 of file Suspension.h.

Referenced by displace(), hinge(), and torque().

const Three_Vector Vamos_Body::Suspension::STEER_AXIS = Three_Vector (0.0, 0.0, 1.0) [static, private]
 

Definition at line 52 of file Suspension.h.

Referenced by propagate(), and toe().


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