diff options
Diffstat (limited to 'tracker-trackhat/dialog.cpp')
-rw-r--r-- | tracker-trackhat/dialog.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/tracker-trackhat/dialog.cpp b/tracker-trackhat/dialog.cpp index 9e3f9655..c6144a4c 100644 --- a/tracker-trackhat/dialog.cpp +++ b/tracker-trackhat/dialog.cpp @@ -6,7 +6,7 @@ trackhat_dialog::trackhat_dialog() { ui.setupUi(this); poll_tracker_info(); - poll_timer.setInterval(250); + poll_timer.setInterval(100); const std::tuple<QString, model_type> model_types[] = { { tr("Cap"), model_cap }, @@ -98,6 +98,7 @@ void trackhat_dialog::unregister_tracker() tracker = nullptr; poll_tracker_info(); poll_timer.stop(); + update_raw_data(); } void trackhat_dialog::save() @@ -127,6 +128,7 @@ void trackhat_dialog::poll_tracker_info() ui.status_label->setText(tr("Status: %1 points detected. Good!").arg(tracker->get_n_points())); else ui.status_label->setText(tr("Status: %1 points detected. BAD!").arg(tracker->get_n_points())); + update_raw_data(); } void trackhat_dialog::set_buttons_visible(bool x) @@ -134,3 +136,18 @@ void trackhat_dialog::set_buttons_visible(bool x) ui.buttonBox->setVisible(x); adjustSize(); } +void trackhat_dialog::update_raw_data() +{ + QLabel* labels[] = { ui.label_x, ui.label_y, ui.label_z, ui.label_yaw, ui.label_pitch, ui.label_roll }; + if (tracker) + { + QString str; str.reserve(16); + double data[6] {}; + tracker->data(data); + for (unsigned i = 0; i < std::size(labels); i++) + labels[i]->setText(str.sprintf("%.2f%s", data[i], i >= 3 ? "°" : " mm")); + } + else + for (QLabel* x : labels) + x->setText(QStringLiteral("-")); +} |