Skip to content

Commit 34e47d3

Browse files
author
Chris Hold
committed
Fix head rotation
1 parent 9bb8eec commit 34e47d3

File tree

6 files changed

+14
-14
lines changed

6 files changed

+14
-14
lines changed

src/gui/qopenglplotter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,8 @@ void ssr::QOpenGLPlotter::_draw_reference()
382382

383383
glTranslatef(0.03f, -0.03f, 0.0f);
384384

385-
// rotate according to reference position
386-
glRotatef(_scene.get_reference().orientation.azimuth, 0.0f, 0.0f, 1.0f);
385+
// rotate according to reference offset position
386+
glRotatef(90.0f + _scene.get_reference_offset().orientation.azimuth, 0.0f, 0.0f, 1.0f);
387387

388388
glBindTexture(GL_TEXTURE_2D, _listener_shadow_texture);
389389

@@ -396,8 +396,8 @@ void ssr::QOpenGLPlotter::_draw_reference()
396396

397397
glPopMatrix();
398398

399-
// rotate according to reference position
400-
glRotatef(_scene.get_reference().orientation.azimuth, 0.0f, 0.0f, 1.0f);
399+
// rotate according to reference offset position
400+
glRotatef(90.0f + _scene.get_reference_offset().orientation.azimuth, 0.0f, 0.0f, 1.0f);
401401

402402
glBindTexture(GL_TEXTURE_2D, _listener_texture);
403403

src/gui/quserinterface.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -980,8 +980,8 @@ void ssr::QUserInterface::mouseMoveEvent(QMouseEvent *event)
980980
// absolut mouse position in OpenGL coordinates
981981
Position mouse_pos(static_cast<float>(pos_x), static_cast<float>(pos_y));
982982

983-
// position relative to reference position
984-
mouse_pos -= _scene.get_reference().position;
983+
// position relative to reference position offset
984+
mouse_pos -= _scene.get_reference_offset().position;
985985

986986
_get_openGL_pos(_previous_mouse_event.x(),
987987
_previous_mouse_event.y(),
@@ -990,10 +990,10 @@ void ssr::QUserInterface::mouseMoveEvent(QMouseEvent *event)
990990
// previous absolut position in OpenGL coordinates
991991
Position prev_mouse_pos(static_cast<float>(pos_x), static_cast<float>(pos_y));
992992

993-
// previous position relative to relative position
994-
prev_mouse_pos -= _scene.get_reference().position;
993+
// previous position relative to relative position offset
994+
prev_mouse_pos -= _scene.get_reference_offset().position;
995995

996-
_controller.take_control()->reference_rotation(_scene.get_reference().orientation +
996+
_controller.take_control()->reference_offset_rotation(_scene.get_reference_offset().rotate(90.0f).orientation +
997997
(mouse_pos.orientation() - prev_mouse_pos.orientation()));
998998

999999
} // else if

src/trackerintersense.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,12 @@ void* ssr::TrackerInterSense::thread(void *arg)
193193
ISD_GetTrackingData(_tracker_h, &tracker_data);
194194
_controller.take_control()->reference_offset_rotation(
195195
Orientation(-tracker_data.Station[0].Euler[0]
196-
+ 90.0f));
196+
+ 90.0f + 90.0f));
197197
#else
198198
ISD_GetData(_tracker_h, &tracker_data);
199199
_controller.take_control()->reference_offset_rotation(
200200
Orientation(-static_cast<float>(tracker_data.Station[0].Orientation[0])
201-
+ 90.0f));
201+
+ 90.0f + 90.0f));
202202
#endif
203203

204204
// wait a bit

src/trackerpolhemus.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ ssr::TrackerPolhemus::thread(void *arg)
301301
>> _current_data.roll;
302302

303303
_controller.take_control()->reference_offset_rotation(
304-
Orientation(-_current_data.azimuth + _az_corr));
304+
Orientation(-_current_data.azimuth + _az_corr + 90.0f));
305305
};
306306
return arg;
307307
}

src/trackerrazor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class TrackerRazor : public Tracker
7474
_init_az_corr = false;
7575
}
7676
_controller.take_control()->reference_offset_rotation(
77-
Orientation(-_current_azimuth + _az_corr));
77+
Orientation(-_current_azimuth + _az_corr + 90.0f));
7878
}
7979
void on_error(const std::string &msg) { ERROR("Razor AHRS: " << msg); }
8080

src/trackervrpn.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,5 @@ ssr::TrackerVrpn::vrpn_change_handler(const vrpn_TRACKERCB t)
142142

143143
_current_azimuth = azi;
144144
_controller.take_control()->reference_offset_rotation(
145-
Orientation(-azi + _az_corr));
145+
Orientation(-azi + _az_corr + 90.0f));
146146
}

0 commit comments

Comments
 (0)