+ 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);
+ 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
+
+ Vec3 get_planar_position() const; // 2D pos of gear on its plane
+
+ void set_angle(float angle);
+ float get_angle() const;
+
+ float get_vis_rotation() const;
+ const Mat4 &get_matrix() const;
+ const Mat4 &get_dir_matrix() const;
+
+ // returns the angle (in radians) from one tooth to the next
+ float get_angular_pitch() const;
+