public Wheel(WhichWheel where)
 {
     position                 = where;
     offset                   = new Vector(0.0, 0.0, 0.0);
     earth_location           = new Vector(0.0, 0.0, 0.0);
     rel_heading              = 0.0;
     radius                   = 0.5;
     height_above_ground      = 0.0;
     ground_height            = 0.0;
     friction                 = 1.0;
     weight_over_wheel        = 0.0;
     static_weight_over_wheel = 0.0;
     suspension_offset        = 0.0;
     max_suspension_offset    = 0.25;
     altitude                 = 0.0;
     bottomed_out             = false;
     drive_wheel              = false;
     sliding                  = false;
     sliding_friction         = 0.0;
     squealing                = false;
     stiction                 = 1.0;
     upwards_force            = 0.0;
     touching_ground          = true;
 }
 bool IsTireLoose(WhichWheel the_wheel)
 {
     return(wheel[(int)the_wheel].sliding);
 }
 bool IsTireSquealing(WhichWheel the_wheel)
 {
     return(wheel[(int)the_wheel].squealing);
 }
 void SetGroundHeight(WhichWheel the_wheel, float height)
 {
     wheel[(int)the_wheel].ground_height = height;
 }
 public void SetWheelOffset(WhichWheel the_wheel, float forward, float right, float up)
 {
     wheel[(int)the_wheel].offset.X = forward;
     wheel[(int)the_wheel].offset.Y = right;
     wheel[(int)the_wheel].offset.Z = up;
 }
 public void SetWheelAltitude(WhichWheel the_wheel, float altitude)
 {
     wheel[(int)the_wheel].ground_height = altitude;
 }
 public float WheelHeight(WhichWheel the_wheel)
 {
     return((float)wheel[(int)the_wheel].earth_location.Z);
 }
 public float WheelEast(WhichWheel the_wheel)
 {
     return((float)wheel[(int)the_wheel].earth_location.Y);
 }
 public float WheelNorth(WhichWheel the_wheel)
 {
     return((float)wheel[(int)the_wheel].earth_location.X);
 }
 public void SetFriction(WhichWheel the_wheel, float friction)
 {
     wheel[(int)the_wheel].friction = friction;
 }