in the allowable 0-360 range.
static void
setGoalViewOffset (double offset)
{
- globals->get_current_view()
- ->set_goal_view_offset(offset * SGD_DEGREES_TO_RADIANS);
+ while ( offset < 0 ) {
+ offset += 360.0;
+ }
+ while ( offset > 360.0 ) {
+ offset -= 360.0;
+ }
+ // Snap to center if we are close
+ if ( fabs( offset ) < 1.0 ) {
+ offset = 0.0;
+ }
+
+ globals->get_current_view()
+ ->set_goal_view_offset(offset * SGD_DEGREES_TO_RADIANS);
}
inline void set_goal_view_offset( double a) {
set_dirty();
goal_view_offset = a;
+ while ( goal_view_offset < 0 ) {
+ goal_view_offset += 360.0;
+ }
+ while ( goal_view_offset > 360.0 ) {
+ goal_view_offset -= 360.0;
+ }
}
inline void set_reverse_view_offset( bool val ) {
reverse_view_offset = val;