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; }