Gear();
~Gear();
+ void set_angular_offset(float offs);
+ float get_angular_offset() const;
+
// sets the supplied number of teeth, and calculates the radius
// of the gear, to achieve the required tooth pitch
void set_teeth(int nt, float tooth_pitch);
const Vec3 &get_position() const;
Vec3 get_global_position() const; // taking parent gear into account
+ Vec3 get_planar_position() const; // 2D pos of gear on its plane
+
void set_angle(float angle);
float get_angle() const;
float get_angular_pitch() const;
void draw() const;
+ void draw_wire(float line_width = 1.0f) const;
bool gen_mesh();
};