// 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);
void set_axis(const Vec3 &axis);
// 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);
void set_axis(const Vec3 &axis);
void set_position(const Vec3 &pos);
const Vec3 &get_position() const;
Vec3 get_global_position() const; // taking parent gear into account
void set_position(const Vec3 &pos);
const Vec3 &get_position() const;
Vec3 get_global_position() const; // taking parent gear into account