writing the machine parser
[antikythera] / src / gear.cc
index c00b411..44c04d3 100644 (file)
@@ -8,14 +8,14 @@ Gear::Gear()
 {
        pdist = 0;
        angle = 0;
-       nteeth = 42;
-       radius = 80;
        teeth_length = 5;
        thickness = 5;
        bevel = 1.5;
        init_angle = 0;
        xform_valid = false;
 
+       set_teeth(42, 10);
+
        supergear = 0;
 
        mesh = 0;
@@ -78,6 +78,11 @@ float Gear::get_angular_offset() const
 
 void Gear::set_teeth(int nt, float tooth_pitch)
 {
+       if(tooth_pitch <= 0) {
+               tooth_pitch = this->tooth_pitch;
+       } else {
+               this->tooth_pitch = tooth_pitch;
+       }
        float circ = tooth_pitch * nt;
        radius = circ / (2.0 * M_PI);
        nteeth = nt;