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("-")); +} | 
