From 7d70ff529280918f680ed70ee5d3b5cf4a7651e3 Mon Sep 17 00:00:00 2001 From: "Kilic, Deniz" <d.kilic@fz-juelich.de> Date: Thu, 25 Aug 2022 14:52:15 +0200 Subject: [PATCH 1/5] Create own ui-file for coordinate system in calib tab --- CMakeLists.txt | 3 + include/control.h | 2 + include/coordinateSystem.h | 94 ++ src/control.cpp | 235 ++--- src/coordinateSystem.cpp | 375 +++++++ src/imageItem.cpp | 14 +- src/personStorage.cpp | 2 +- src/petrack.cpp | 65 +- src/tracker.cpp | 2 +- src/trackerItem.cpp | 5 +- ui/control.ui | 2051 +++--------------------------------- ui/coordinateSystem.ui | 1406 ++++++++++++++++++++++++ 12 files changed, 2156 insertions(+), 2098 deletions(-) create mode 100644 include/coordinateSystem.h create mode 100644 src/coordinateSystem.cpp create mode 100644 ui/coordinateSystem.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ef9cb652..33f521067 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -381,6 +381,7 @@ target_sources(petrack_core PRIVATE include/autosave.h include/manualTrackpointMover.h include/frameRange.h + include/coordinateSystem.h ) target_sources(petrack_core PRIVATE @@ -442,6 +443,7 @@ target_sources(petrack_core PRIVATE src/personStorage.cpp src/autosave.cpp src/manualTrackpointMover.cpp + src/coordinateSystem.cpp ui/about.ui ui/codeMarker.ui ui/colorMarker.ui @@ -451,6 +453,7 @@ target_sources(petrack_core PRIVATE ui/control.ui ui/openMoCapDialog.ui ui/moCapSelectionWidget.ui + ui/coordinateSystem.ui ) target_sources(petrack PRIVATE diff --git a/include/control.h b/include/control.h index f69ce77b4..8ce8d44b4 100644 --- a/include/control.h +++ b/include/control.h @@ -160,6 +160,7 @@ public: void setEnabledExtrParams(bool enable); int getCalibCoordDimension(); + bool getCoordUseIntrinsic(); bool getCalibExtrCalibPointsShow(); bool getCalibExtrVanishPointsShow(); bool getCalibCoordShow(); @@ -182,6 +183,7 @@ public: void setCalibCoordTransYMax(int i); int getCalibCoordTransYMin(); void setCalibCoordTransYMin(int i); + double getCoordAltitude(); int getCalibCoordScale(); void setCalibCoordScale(int i); double getCalibCoordUnit(); diff --git a/include/coordinateSystem.h b/include/coordinateSystem.h new file mode 100644 index 000000000..3776efadd --- /dev/null +++ b/include/coordinateSystem.h @@ -0,0 +1,94 @@ +#ifndef COORDINATESYSTEM_H +#define COORDINATESYSTEM_H + +#include <QFrame> + +namespace Ui { +class CoordinateSystem; +} +class QDomElement; + +class CoordinateSystem : public QFrame +{ + Q_OBJECT + +public: + explicit CoordinateSystem(QWidget *parent = nullptr); + ~CoordinateSystem() override; + + void getXml(QDomElement &subSubElem); + void setXml(QDomElement &subSubElem); + + + double getAltitude(); + void setMeasuredAltitude(const QString &altitude); + int getCalibCoord3DTransX(); + void setCalibCoord3DTransX(int i); + int getCalibCoord3DTransY(); + void setCalibCoord3DTransY(int i); + int getCalibCoord3DTransZ(); + void setCalibCoord3DTransZ(int i); + int getCalibCoord3DAxeLen(); + void setCalibCoord3DAxeLen(int i); + bool getCalibCoord3DSwapX(); + void setCalibCoord3DSwapX(bool b); + bool getCalibCoord3DSwapY(); + void setCalibCoord3DSwapY(bool b); + bool getCalibCoord3DSwapZ(); + void setCalibCoord3DSwapZ(bool b); + + int getCalibCoordDimension(); + bool getUseIntrinsic(); + bool getCalibExtrCalibPointsShow(); + bool getCalibExtrVanishPointsShow(); + bool getCalibCoordShow(); + void setCalibCoordShow(bool b); + bool getCalibCoordFix(); + void setCalibCoordFix(bool b); + bool getIs3DView(); + void setIs3DView(bool b); + int getCalibCoordRotate(); + void setCalibCoordRotate(int i); + int getCalibCoordTransX(); + void setCalibCoordTransX(int i); + int getCalibCoordTransXMax(); + void setCalibCoordTransXMax(int i); + int getCalibCoordTransXMin(); + void setCalibCoordTransXMin(int i); + int getCalibCoordTransY(); + void setCalibCoordTransY(int i); + int getCalibCoordTransYMax(); + void setCalibCoordTransYMax(int i); + int getCalibCoordTransYMin(); + void setCalibCoordTransYMin(int i); + int getCalibCoordScale(); + void setCalibCoordScale(int i); + double getCalibCoordUnit(); + void setCalibCoordUnit(double d); + +signals: + void coordShowChanged(int i); + void fixChanged(int i); + void useIntrinsicChanged(int i); + void rotateChanged(int i); + void transXChanged(int i); + void transYChanged(int i); + void scaleChanged(int i); + void unitChanged(double d); + void altitudeChanged(double d); + + void currentTabChanged(int i); + + void trans3DXChanged(int i); + void trans3DYChanged(int i); + void trans3DZChanged(int i); + void axeLen3DChanged(int i); + void swap3DXChanged(int i); + void swap3DYChanged(int i); + void swap3DZChanged(int i); + +private: + Ui::CoordinateSystem *ui; +}; + +#endif // COORDINATESYSTEM_H diff --git a/src/control.cpp b/src/control.cpp index d770dca97..f3b9dd016 100644 --- a/src/control.cpp +++ b/src/control.cpp @@ -243,6 +243,33 @@ Control::Control( connect(trackRoiFix, &QCheckBox::stateChanged, this, &Control::toggleTrackROIButtons); connect(trackRoiShow, &QCheckBox::stateChanged, this, &Control::toggleTrackROIButtons); + + // add connections to coordinateSystem signals; name of slots has not been altered, but automatic + // signal-slot-connection does not work with extracted ui-file. (This breaks silently, that is why the explicit + // connection should be preferred) + connect(coordinateSystem, &CoordinateSystem::currentTabChanged, this, &Control::on_coordTab_currentChanged); + // 2D Coordinates + connect(coordinateSystem, &CoordinateSystem::coordShowChanged, this, &Control::on_coordShow_stateChanged); + connect(coordinateSystem, &CoordinateSystem::fixChanged, this, &Control::on_coordFix_stateChanged); + connect( + coordinateSystem, &CoordinateSystem::useIntrinsicChanged, this, &Control::on_coordUseIntrinsic_stateChanged); + connect(coordinateSystem, &CoordinateSystem::rotateChanged, this, &Control::on_coordRotate_valueChanged); + connect(coordinateSystem, &CoordinateSystem::transXChanged, this, &Control::on_coordTransX_valueChanged); + connect(coordinateSystem, &CoordinateSystem::transYChanged, this, &Control::on_coordTransY_valueChanged); + connect(coordinateSystem, &CoordinateSystem::scaleChanged, this, &Control::on_coordScale_valueChanged); + connect(coordinateSystem, &CoordinateSystem::unitChanged, this, &Control::on_coordUnit_valueChanged); + connect(coordinateSystem, &CoordinateSystem::altitudeChanged, this, &Control::on_coordAltitude_valueChanged); + + // 3D coordinates + connect(coordinateSystem, &CoordinateSystem::trans3DXChanged, this, &Control::on_coord3DTransX_valueChanged); + connect(coordinateSystem, &CoordinateSystem::trans3DYChanged, this, &Control::on_coord3DTransY_valueChanged); + connect(coordinateSystem, &CoordinateSystem::trans3DZChanged, this, &Control::on_coord3DTransZ_valueChanged); + connect(coordinateSystem, &CoordinateSystem::axeLen3DChanged, this, &Control::on_coord3DAxeLen_valueChanged); + connect(coordinateSystem, &CoordinateSystem::swap3DXChanged, this, &Control::on_coord3DSwapX_stateChanged); + connect(coordinateSystem, &CoordinateSystem::swap3DYChanged, this, &Control::on_coord3DSwapY_stateChanged); + connect(coordinateSystem, &CoordinateSystem::swap3DXChanged, this, &Control::on_coord3DSwapZ_stateChanged); + + // "Hide" analysis tab until it is fixed tabs->removeTab(3); } @@ -945,201 +972,207 @@ void Control::setCalibGrid3DResolution(int i) int Control::getCalibCoordDimension() { - return coordTab->currentIndex(); + return coordinateSystem->getCalibCoordDimension(); +} + +bool Control::getCoordUseIntrinsic() +{ + return coordinateSystem->getUseIntrinsic(); } bool Control::getCalibExtrCalibPointsShow() { - return extCalibPointsShow->isChecked(); + return coordinateSystem->getCalibExtrCalibPointsShow(); } bool Control::getCalibExtrVanishPointsShow() { - return extVanishPointsShow->isChecked(); + return coordinateSystem->getCalibExtrVanishPointsShow(); } bool Control::getCalibCoordShow() { - return coordShow->isChecked(); + return coordinateSystem->getCalibCoordShow(); } void Control::setCalibCoordShow(bool b) { - coordShow->setChecked(b); + return coordinateSystem->setCalibCoordShow(b); } bool Control::getCalibCoordFix() { - return coordFix->isChecked(); + return coordinateSystem->getCalibCoordFix(); } void Control::setCalibCoordFix(bool b) { - coordFix->setChecked(b); + return coordinateSystem->setCalibCoordFix(b); } int Control::getCalibCoordRotate() { - return coordRotate->value(); + return coordinateSystem->getCalibCoordRotate(); } void Control::setCalibCoordRotate(int i) { - coordRotate->setValue(i); + return coordinateSystem->setCalibCoordRotate(i); } int Control::getCalibCoordTransX() { - return coordTransX->value(); + return coordinateSystem->getCalibCoordTransX(); } void Control::setCalibCoordTransX(int i) { - coordTransX->setValue(i); + return coordinateSystem->setCalibCoordTransX(i); } int Control::getCalibCoordTransXMax() { - return coordTransX->maximum(); + return coordinateSystem->getCalibCoordTransXMax(); } void Control::setCalibCoordTransXMax(int i) { - coordTransX->setMaximum(i); - coordTransX_spin->setMaximum(i); + return coordinateSystem->setCalibCoordTransXMax(i); } int Control::getCalibCoordTransXMin() { - return coordTransX->minimum(); + return coordinateSystem->getCalibCoordTransXMin(); } void Control::setCalibCoordTransXMin(int i) { - coordTransX->setMinimum(i); - coordTransX_spin->setMinimum(i); + return coordinateSystem->setCalibCoordTransXMin(i); } int Control::getCalibCoordTransY() { - return coordTransY->value(); + return coordinateSystem->getCalibCoordTransY(); } void Control::setCalibCoordTransY(int i) { - coordTransY->setValue(i); + return coordinateSystem->setCalibCoordTransY(i); } int Control::getCalibCoordTransYMax() { - return coordTransY->maximum(); + return coordinateSystem->getCalibCoordTransYMax(); } void Control::setCalibCoordTransYMax(int i) { - coordTransY->setMaximum(i); - coordTransY_spin->setMaximum(i); + return coordinateSystem->setCalibCoordTransYMax(i); } int Control::getCalibCoordTransYMin() { - return coordTransY->minimum(); + return coordinateSystem->getCalibCoordTransYMin(); } void Control::setCalibCoordTransYMin(int i) { - coordTransY->setMinimum(i); - coordTransY_spin->setMinimum(i); + return coordinateSystem->setCalibCoordTransYMin(i); } int Control::getCalibCoordScale() { - return coordScale->value(); + return coordinateSystem->getCalibCoordScale(); } void Control::setCalibCoordScale(int i) { - coordScale->setValue(i); + return coordinateSystem->setCalibCoordScale(i); } double Control::getCalibCoordUnit() { - return coordUnit->value(); + return coordinateSystem->getCalibCoordUnit(); } void Control::setCalibCoordUnit(double d) { - coordUnit->setValue(d); + return coordinateSystem->setCalibCoordUnit(d); +} + +double Control::getCoordAltitude() +{ + return coordinateSystem->getAltitude(); } int Control::getCalibCoord3DTransX() { - return coord3DTransX->value(); + return coordinateSystem->getCalibCoord3DTransX(); } void Control::setCalibCoord3DTransX(int i) { - coord3DTransX->setValue(i); + return coordinateSystem->setCalibCoord3DTransX(i); } int Control::getCalibCoord3DTransY() { - return coord3DTransY->value(); + return coordinateSystem->getCalibCoord3DTransY(); } void Control::setCalibCoord3DTransY(int i) { - coord3DTransY->setValue(i); + return coordinateSystem->setCalibCoord3DTransY(i); } int Control::getCalibCoord3DTransZ() { - return coord3DTransZ->value(); + return coordinateSystem->getCalibCoord3DTransZ(); } void Control::setCalibCoord3DTransZ(int i) { - coord3DTransZ->setValue(i); + return coordinateSystem->setCalibCoord3DTransZ(i); } int Control::getCalibCoord3DAxeLen() { - return coord3DAxeLen->value(); + return coordinateSystem->getCalibCoord3DAxeLen(); } void Control::setCalibCoord3DAxeLen(int i) { - coord3DAxeLen->setValue(i); + return coordinateSystem->setCalibCoord3DAxeLen(i); } bool Control::getCalibCoord3DSwapX() { - return coord3DSwapX->isChecked(); + return coordinateSystem->getCalibCoord3DSwapX(); } void Control::setCalibCoord3DSwapX(bool b) { - coord3DSwapX->setChecked(b); + return coordinateSystem->setCalibCoord3DSwapX(b); } bool Control::getCalibCoord3DSwapY() { - return coord3DSwapY->isChecked(); + return coordinateSystem->getCalibCoord3DSwapY(); } void Control::setCalibCoord3DSwapY(bool b) { - coord3DSwapY->setChecked(b); + return coordinateSystem->setCalibCoord3DSwapY(b); } bool Control::getCalibCoord3DSwapZ() { - return coord3DSwapZ->isChecked(); + return coordinateSystem->getCalibCoord3DSwapZ(); } void Control::setCalibCoord3DSwapZ(bool b) { - coord3DSwapZ->setChecked(b); + return coordinateSystem->setCalibCoord3DSwapZ(b); } //-------------------- analysis @@ -2945,7 +2978,7 @@ void Control::setMeasuredAltitude() { if(mMainWindow->getImageItem()) { - coordAltitudeMeasured->setText( + coordinateSystem->setMeasuredAltitude( QString("(measured: %1)") .arg( (getCalibFxValue() + getCalibFyValue()) / 2. * mMainWindow->getImageItem()->getCmPerPixel(), @@ -3068,7 +3101,6 @@ void Control::setXml(QDomElement &elem) subSubElem.setAttribute("EXTR_TRANS_2", trans2->value()); subSubElem.setAttribute("EXTR_TRANS_3", trans3->value()); - subSubElem.setAttribute("SHOW_CALIB_POINTS", extCalibPointsShow->isChecked()); QString ef = mMainWindow->getExtrCalibration()->getExtrCalibFile(); if(ef != "") @@ -3077,24 +3109,7 @@ void Control::setXml(QDomElement &elem) } subSubElem.setAttribute("EXTERNAL_CALIB_FILE", ef); - subSubElem.setAttribute("COORD_DIMENSION", coordTab->currentIndex()); - - subSubElem.setAttribute("SHOW", coordShow->isChecked()); - subSubElem.setAttribute("FIX", coordFix->isChecked()); - subSubElem.setAttribute("ROTATE", coordRotate->value()); - subSubElem.setAttribute("TRANS_X", coordTransX->value()); - subSubElem.setAttribute("TRANS_Y", coordTransY->value()); - subSubElem.setAttribute("SCALE", coordScale->value()); - subSubElem.setAttribute("ALTITUDE", coordAltitude->value()); - subSubElem.setAttribute("UNIT", coordUnit->value()); - subSubElem.setAttribute("USE_INTRINSIC_CENTER", coordUseIntrinsic->isChecked()); - subSubElem.setAttribute("COORD3D_TRANS_X", coord3DTransX->value()); - subSubElem.setAttribute("COORD3D_TRANS_Y", coord3DTransY->value()); - subSubElem.setAttribute("COORD3D_TRANS_Z", coord3DTransZ->value()); - subSubElem.setAttribute("COORD3D_AXIS_LEN", coord3DAxeLen->value()); - subSubElem.setAttribute("COORD3D_SWAP_X", coord3DSwapX->isChecked()); - subSubElem.setAttribute("COORD3D_SWAP_Y", coord3DSwapY->isChecked()); - subSubElem.setAttribute("COORD3D_SWAP_Z", coord3DSwapZ->isChecked()); + coordinateSystem->setXml(subSubElem); subElem.appendChild(subSubElem); subSubElem = (elem.ownerDocument()).createElement("ALIGNMENT_GRID"); @@ -3671,21 +3686,7 @@ void Control::getXml(QDomElement &elem) { trans3->setValue(subSubElem.attribute("EXTR_TRANS_3").toDouble()); } - if(subSubElem.hasAttribute("SHOW_CALIB_POINTS")) - { - extCalibPointsShow->setCheckState( - subSubElem.attribute("SHOW_CALIB_POINTS").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("COORD_DIMENSION")) - { - coordTab->setCurrentIndex(subSubElem.attribute("COORD_DIMENSION").toInt()); - } - else - { - coordTab->setCurrentIndex(1); // = 2D - setEnabledExtrParams(false); - } if(subSubElem.hasAttribute("EXTERNAL_CALIB_FILE")) { if(getExistingFile( @@ -3699,85 +3700,7 @@ void Control::getXml(QDomElement &elem) } } - if(subSubElem.hasAttribute("SHOW")) - { - coordShow->setCheckState(subSubElem.attribute("SHOW").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("FIX")) - { - coordFix->setCheckState(subSubElem.attribute("FIX").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("ROTATE")) - { - coordRotate->setValue(subSubElem.attribute("ROTATE").toInt()); - } - if(subSubElem.hasAttribute("TRANS_X")) - { - int trans_x = subSubElem.attribute("TRANS_X").toInt(); - if(trans_x > coordTransX->maximum()) - { - setCalibCoordTransXMax(trans_x); - } - coordTransX->setValue(trans_x); - } - if(subSubElem.hasAttribute("TRANS_Y")) - { - int trans_y = subSubElem.attribute("TRANS_Y").toInt(); - if(trans_y > coord3DTransY->maximum()) - { - setCalibCoordTransYMax(trans_y); - } - coordTransY->setValue(trans_y); - } - coordTransY->setValue(subSubElem.attribute("TRANS_Y").toInt()); - if(subSubElem.hasAttribute("SCALE")) - { - coordScale->setValue(subSubElem.attribute("SCALE").toInt()); - } - if(subSubElem.hasAttribute("ALTITUDE")) - { - coordAltitude->setValue(subSubElem.attribute("ALTITUDE").toDouble()); - } - if(subSubElem.hasAttribute("UNIT")) - { - coordUnit->setValue(subSubElem.attribute("UNIT").toDouble()); - } - if(subSubElem.hasAttribute("USE_INTRINSIC_CENTER")) - { - coordUseIntrinsic->setCheckState( - subSubElem.attribute("USE_INTRINSIC_CENTER").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("COORD3D_TRANS_X")) - { - coord3DTransX->setValue(subSubElem.attribute("COORD3D_TRANS_X").toInt()); - } - if(subSubElem.hasAttribute("COORD3D_TRANS_Y")) - { - coord3DTransY->setValue(subSubElem.attribute("COORD3D_TRANS_Y").toInt()); - } - if(subSubElem.hasAttribute("COORD3D_TRANS_Z")) - { - coord3DTransZ->setValue(subSubElem.attribute("COORD3D_TRANS_Z").toInt()); - } - if(subSubElem.hasAttribute("COORD3D_AXIS_LEN")) - { - coord3DAxeLen->setValue(subSubElem.attribute("COORD3D_AXIS_LEN").toInt()); - } - if(subSubElem.hasAttribute("COORD3D_SWAP_X")) - { - coord3DSwapX->setCheckState( - subSubElem.attribute("COORD3D_SWAP_X").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("COORD3D_SWAP_Y")) - { - coord3DSwapY->setCheckState( - subSubElem.attribute("COORD3D_SWAP_Y").toInt() ? Qt::Checked : Qt::Unchecked); - } - if(subSubElem.hasAttribute("COORD3D_SWAP_Z")) - { - coord3DSwapZ->setCheckState( - subSubElem.attribute("COORD3D_SWAP_Z").toInt() ? Qt::Checked : Qt::Unchecked); - } + coordinateSystem->getXml(subSubElem); } else if(subSubElem.tagName() == "ALIGNMENT_GRID") { diff --git a/src/coordinateSystem.cpp b/src/coordinateSystem.cpp new file mode 100644 index 000000000..5ab98dfd2 --- /dev/null +++ b/src/coordinateSystem.cpp @@ -0,0 +1,375 @@ +#include "coordinateSystem.h" + +#include "ui_coordinateSystem.h" + +#include <QDomElement> + +CoordinateSystem::CoordinateSystem(QWidget *parent) : QFrame(parent), ui(new Ui::CoordinateSystem) +{ + ui->setupUi(this); + connect(ui->coordShow, &QCheckBox::stateChanged, this, [this](int i) { emit coordShowChanged(i); }); + connect(ui->coordFix, &QCheckBox::stateChanged, this, [this](int i) { emit fixChanged(i); }); + connect(ui->coordUseIntrinsic, &QCheckBox::stateChanged, this, [this](int i) { emit useIntrinsicChanged(i); }); + connect(ui->coordRotate, &QScrollBar::valueChanged, this, [this](int i) { emit rotateChanged(i); }); + connect(ui->coordTransX, &QScrollBar::valueChanged, this, [this](int i) { emit transXChanged(i); }); + connect(ui->coordTransY, &QScrollBar::valueChanged, this, [this](int i) { emit transYChanged(i); }); + connect( + ui->coordAltitude, + qOverload<double>(&QDoubleSpinBox::valueChanged), + this, + [this](double d) { emit altitudeChanged(d); }); + connect( + ui->coordUnit, + qOverload<double>(&QDoubleSpinBox::valueChanged), + this, + [this](double d) { emit unitChanged(d); }); + connect(ui->coordScale, &QScrollBar::valueChanged, this, [this](int i) { emit scaleChanged(i); }); + + connect(ui->coordTab, &QTabWidget::currentChanged, this, [this](int i) { emit currentTabChanged(i); }); + + connect(ui->coord3DTransX, &QScrollBar::valueChanged, this, [this](int i) { emit trans3DXChanged(i); }); + connect(ui->coord3DTransY, &QScrollBar::valueChanged, this, [this](int i) { emit trans3DYChanged(i); }); + connect(ui->coord3DTransZ, &QScrollBar::valueChanged, this, [this](int i) { emit trans3DZChanged(i); }); + connect(ui->coord3DAxeLen, &QScrollBar::valueChanged, this, [this](int i) { emit axeLen3DChanged(i); }); + connect(ui->coord3DSwapX, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DXChanged(i); }); + connect(ui->coord3DSwapY, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DYChanged(i); }); + connect(ui->coord3DSwapZ, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DZChanged(i); }); +} + +CoordinateSystem::~CoordinateSystem() +{ + delete ui; +} + +void CoordinateSystem::getXml(QDomElement &subSubElem) +{ + if(subSubElem.hasAttribute("SHOW")) + { + ui->coordShow->setCheckState(subSubElem.attribute("SHOW").toInt() ? Qt::Checked : Qt::Unchecked); + } + if(subSubElem.hasAttribute("FIX")) + { + ui->coordFix->setCheckState(subSubElem.attribute("FIX").toInt() ? Qt::Checked : Qt::Unchecked); + } + if(subSubElem.hasAttribute("ROTATE")) + { + ui->coordRotate->setValue(subSubElem.attribute("ROTATE").toInt()); + } + if(subSubElem.hasAttribute("TRANS_X")) + { + int trans_x = subSubElem.attribute("TRANS_X").toInt(); + if(trans_x > ui->coordTransX->maximum()) + { + setCalibCoordTransXMax(trans_x); + } + ui->coordTransX->setValue(trans_x); + } + if(subSubElem.hasAttribute("TRANS_Y")) + { + int trans_y = subSubElem.attribute("TRANS_Y").toInt(); + if(trans_y > ui->coord3DTransY->maximum()) + { + setCalibCoordTransYMax(trans_y); + } + ui->coordTransY->setValue(trans_y); + } + ui->coordTransY->setValue(subSubElem.attribute("TRANS_Y").toInt()); + if(subSubElem.hasAttribute("SCALE")) + { + ui->coordScale->setValue(subSubElem.attribute("SCALE").toInt()); + } + if(subSubElem.hasAttribute("ALTITUDE")) + { + ui->coordAltitude->setValue(subSubElem.attribute("ALTITUDE").toDouble()); + } + if(subSubElem.hasAttribute("UNIT")) + { + ui->coordUnit->setValue(subSubElem.attribute("UNIT").toDouble()); + } + if(subSubElem.hasAttribute("USE_INTRINSIC_CENTER")) + { + ui->coordUseIntrinsic->setCheckState( + subSubElem.attribute("USE_INTRINSIC_CENTER").toInt() ? Qt::Checked : Qt::Unchecked); + } + if(subSubElem.hasAttribute("COORD3D_TRANS_X")) + { + ui->coord3DTransX->setValue(subSubElem.attribute("COORD3D_TRANS_X").toInt()); + } + if(subSubElem.hasAttribute("COORD3D_TRANS_Y")) + { + ui->coord3DTransY->setValue(subSubElem.attribute("COORD3D_TRANS_Y").toInt()); + } + if(subSubElem.hasAttribute("COORD3D_TRANS_Z")) + { + ui->coord3DTransZ->setValue(subSubElem.attribute("COORD3D_TRANS_Z").toInt()); + } + if(subSubElem.hasAttribute("COORD3D_AXIS_LEN")) + { + ui->coord3DAxeLen->setValue(subSubElem.attribute("COORD3D_AXIS_LEN").toInt()); + } + if(subSubElem.hasAttribute("COORD3D_SWAP_X")) + { + ui->coord3DSwapX->setCheckState(subSubElem.attribute("COORD3D_SWAP_X").toInt() ? Qt::Checked : Qt::Unchecked); + } + if(subSubElem.hasAttribute("COORD3D_SWAP_Y")) + { + ui->coord3DSwapY->setCheckState(subSubElem.attribute("COORD3D_SWAP_Y").toInt() ? Qt::Checked : Qt::Unchecked); + } + if(subSubElem.hasAttribute("COORD3D_SWAP_Z")) + { + ui->coord3DSwapZ->setCheckState(subSubElem.attribute("COORD3D_SWAP_Z").toInt() ? Qt::Checked : Qt::Unchecked); + } +} + +void CoordinateSystem::setXml(QDomElement &subSubElem) +{ + if(subSubElem.hasAttribute("SHOW_CALIB_POINTS")) + { + ui->extCalibPointsShow->setCheckState( + subSubElem.attribute("SHOW_CALIB_POINTS").toInt() ? Qt::Checked : Qt::Unchecked); + } + + if(subSubElem.hasAttribute("COORD_DIMENSION")) + { + ui->coordTab->setCurrentIndex(subSubElem.attribute("COORD_DIMENSION").toInt()); + } + else + { + ui->coordTab->setCurrentIndex(1); // = 2D + } + + subSubElem.setAttribute("COORD_DIMENSION", ui->coordTab->currentIndex()); + + subSubElem.setAttribute("SHOW_CALIB_POINTS", ui->extCalibPointsShow->isChecked()); + subSubElem.setAttribute("SHOW", ui->coordShow->isChecked()); + subSubElem.setAttribute("FIX", ui->coordFix->isChecked()); + subSubElem.setAttribute("ROTATE", ui->coordRotate->value()); + subSubElem.setAttribute("TRANS_X", ui->coordTransX->value()); + subSubElem.setAttribute("TRANS_Y", ui->coordTransY->value()); + subSubElem.setAttribute("SCALE", ui->coordScale->value()); + subSubElem.setAttribute("ALTITUDE", ui->coordAltitude->value()); + subSubElem.setAttribute("UNIT", ui->coordUnit->value()); + subSubElem.setAttribute("USE_INTRINSIC_CENTER", ui->coordUseIntrinsic->isChecked()); + subSubElem.setAttribute("COORD3D_TRANS_X", ui->coord3DTransX->value()); + subSubElem.setAttribute("COORD3D_TRANS_Y", ui->coord3DTransY->value()); + subSubElem.setAttribute("COORD3D_TRANS_Z", ui->coord3DTransZ->value()); + subSubElem.setAttribute("COORD3D_AXIS_LEN", ui->coord3DAxeLen->value()); + subSubElem.setAttribute("COORD3D_SWAP_X", ui->coord3DSwapX->isChecked()); + subSubElem.setAttribute("COORD3D_SWAP_Y", ui->coord3DSwapY->isChecked()); + subSubElem.setAttribute("COORD3D_SWAP_Z", ui->coord3DSwapZ->isChecked()); +} + +double CoordinateSystem::getAltitude() +{ + return ui->coordAltitude->value(); +} + +void CoordinateSystem::setMeasuredAltitude(const QString &altitude) +{ + ui->coordAltitudeMeasured->setText(altitude); +} + +int CoordinateSystem::getCalibCoordDimension() +{ + return ui->coordTab->currentIndex(); +} + +bool CoordinateSystem::getUseIntrinsic() +{ + return ui->coordUseIntrinsic->isChecked(); +} + +bool CoordinateSystem::getCalibExtrCalibPointsShow() +{ + return ui->extCalibPointsShow->isChecked(); +} + +bool CoordinateSystem::getCalibExtrVanishPointsShow() +{ + return ui->extVanishPointsShow->isChecked(); +} + +bool CoordinateSystem::getCalibCoordShow() +{ + return ui->coordShow->isChecked(); +} + +void CoordinateSystem::setCalibCoordShow(bool b) +{ + ui->coordShow->setChecked(b); +} + +bool CoordinateSystem::getCalibCoordFix() +{ + return ui->coordFix->isChecked(); +} + +void CoordinateSystem::setCalibCoordFix(bool b) +{ + ui->coordFix->setChecked(b); +} + +int CoordinateSystem::getCalibCoordRotate() +{ + return ui->coordRotate->value(); +} + +void CoordinateSystem::setCalibCoordRotate(int i) +{ + ui->coordRotate->setValue(i); +} + +int CoordinateSystem::getCalibCoordTransX() +{ + return ui->coordTransX->value(); +} + +void CoordinateSystem::setCalibCoordTransX(int i) +{ + ui->coordTransX->setValue(i); +} + +int CoordinateSystem::getCalibCoordTransXMax() +{ + return ui->coordTransX->maximum(); +} + +void CoordinateSystem::setCalibCoordTransXMax(int i) +{ + ui->coordTransX->setMaximum(i); + ui->coordTransX_spin->setMaximum(i); +} + +int CoordinateSystem::getCalibCoordTransXMin() +{ + return ui->coordTransX->minimum(); +} + +void CoordinateSystem::setCalibCoordTransXMin(int i) +{ + ui->coordTransX->setMinimum(i); + ui->coordTransX_spin->setMinimum(i); +} + +int CoordinateSystem::getCalibCoordTransY() +{ + return ui->coordTransY->value(); +} + +void CoordinateSystem::setCalibCoordTransY(int i) +{ + ui->coordTransY->setValue(i); +} + +int CoordinateSystem::getCalibCoordTransYMax() +{ + return ui->coordTransY->maximum(); +} + +void CoordinateSystem::setCalibCoordTransYMax(int i) +{ + ui->coordTransY->setMaximum(i); + ui->coordTransY_spin->setMaximum(i); +} + +int CoordinateSystem::getCalibCoordTransYMin() +{ + return ui->coordTransY->minimum(); +} + +void CoordinateSystem::setCalibCoordTransYMin(int i) +{ + ui->coordTransY->setMinimum(i); + ui->coordTransY_spin->setMinimum(i); +} + +int CoordinateSystem::getCalibCoordScale() +{ + return ui->coordScale->value(); +} + +void CoordinateSystem::setCalibCoordScale(int i) +{ + ui->coordScale->setValue(i); +} + +double CoordinateSystem::getCalibCoordUnit() +{ + return ui->coordUnit->value(); +} + +void CoordinateSystem::setCalibCoordUnit(double d) +{ + ui->coordUnit->setValue(d); +} + + +int CoordinateSystem::getCalibCoord3DTransX() +{ + return ui->coord3DTransX->value(); +} + +void CoordinateSystem::setCalibCoord3DTransX(int i) +{ + ui->coord3DTransX->setValue(i); +} + +int CoordinateSystem::getCalibCoord3DTransY() +{ + return ui->coord3DTransY->value(); +} + +void CoordinateSystem::setCalibCoord3DTransY(int i) +{ + ui->coord3DTransY->setValue(i); +} + +int CoordinateSystem::getCalibCoord3DTransZ() +{ + return ui->coord3DTransZ->value(); +} + +void CoordinateSystem::setCalibCoord3DTransZ(int i) +{ + ui->coord3DTransZ->setValue(i); +} + +int CoordinateSystem::getCalibCoord3DAxeLen() +{ + return ui->coord3DAxeLen->value(); +} + +void CoordinateSystem::setCalibCoord3DAxeLen(int i) +{ + ui->coord3DAxeLen->setValue(i); +} + +bool CoordinateSystem::getCalibCoord3DSwapX() +{ + return ui->coord3DSwapX->isChecked(); +} + +void CoordinateSystem::setCalibCoord3DSwapX(bool b) +{ + ui->coord3DSwapX->setChecked(b); +} + +bool CoordinateSystem::getCalibCoord3DSwapY() +{ + return ui->coord3DSwapY->isChecked(); +} + +void CoordinateSystem::setCalibCoord3DSwapY(bool b) +{ + ui->coord3DSwapY->setChecked(b); +} + +bool CoordinateSystem::getCalibCoord3DSwapZ() +{ + return ui->coord3DSwapZ->isChecked(); +} + +void CoordinateSystem::setCalibCoord3DSwapZ(bool b) +{ + ui->coord3DSwapZ->setChecked(b); +} diff --git a/src/imageItem.cpp b/src/imageItem.cpp index 9e944ad13..4f476ff53 100644 --- a/src/imageItem.cpp +++ b/src/imageItem.cpp @@ -243,7 +243,7 @@ QPointF ImageItem::getPosImage(QPointF pos, float height) } pos = mapFromItem(mCoordItem, pos); // Einheit anpassen... - if(mControlWidget->coordUseIntrinsic->checkState() == Qt::Checked) + if(mControlWidget->getCoordUseIntrinsic()) { pos.rx() -= mControlWidget->getCalibCxValue(); pos.ry() -= mControlWidget->getCalibCyValue(); @@ -257,13 +257,13 @@ QPointF ImageItem::getPosImage(QPointF pos, float height) { debout << "x: " << pos.x() << " y: " << pos.y() << std::endl; } - pos = (mControlWidget->coordAltitude->value() / (mControlWidget->coordAltitude->value() - height)) * + pos = (mControlWidget->getCoordAltitude() / (mControlWidget->getCoordAltitude() - height)) * pos; //((a-height)/a)*pos; if(debug) { debout << "x: " << pos.x() << " y: " << pos.y() << std::endl; } - if(mControlWidget->coordUseIntrinsic->checkState() == Qt::Checked) + if(mControlWidget->getCoordUseIntrinsic()) { pos.rx() += mControlWidget->getCalibCxValue(); pos.ry() += mControlWidget->getCalibCyValue(); @@ -345,7 +345,7 @@ QPointF ImageItem::getPosReal(QPointF pos, double height) // a = mControlWidget->getCalibFxValue()*getMeterPerPixel(); // a = mControlWidget->coordAltitude->value(); // -.5 da pixel von 0..1023 (in skala bis 1024 anfaengt) laufen - if(mControlWidget->coordUseIntrinsic->checkState() == Qt::Checked) + if(mControlWidget->getCoordUseIntrinsic()) { pos.rx() -= mControlWidget->getCalibCxValue(); pos.ry() -= mControlWidget->getCalibCyValue(); @@ -357,19 +357,19 @@ QPointF ImageItem::getPosReal(QPointF pos, double height) } if(debug) { - debout << "CoordAltitude: " << mControlWidget->coordAltitude->value() << std::endl; + debout << "CoordAltitude: " << mControlWidget->getCoordAltitude() << std::endl; } if(debug) { debout << "x: " << pos.x() << " y: " << pos.y() << std::endl; } - pos = ((mControlWidget->coordAltitude->value() - height) / mControlWidget->coordAltitude->value()) * + pos = ((mControlWidget->getCoordAltitude() - height) / mControlWidget->getCoordAltitude()) * pos; //((a-height)/a)*pos; if(debug) { debout << "x: " << pos.x() << " y: " << pos.y() << std::endl; } - if(mControlWidget->coordUseIntrinsic->checkState() == Qt::Checked) + if(mControlWidget->getCoordUseIntrinsic()) { pos.rx() += mControlWidget->getCalibCxValue(); pos.ry() += mControlWidget->getCalibCyValue(); diff --git a/src/personStorage.cpp b/src/personStorage.cpp index e913dd27f..61a1d1a8b 100644 --- a/src/personStorage.cpp +++ b/src/personStorage.cpp @@ -629,7 +629,7 @@ bool PersonStorage::addPoint( } if((z > 0) && ((onlyVisible.empty()) || found)) { - mPersons[iNearest].setHeight(z, mMainWindow.getControlWidget()->coordAltitude->value()); // , frame + mPersons[iNearest].setHeight(z, mMainWindow.getControlWidget()->getCoordAltitude()); // , frame } if((!onlyVisible.empty()) && !found) { diff --git a/src/petrack.cpp b/src/petrack.cpp index eb5e0c612..b091d489a 100644 --- a/src/petrack.cpp +++ b/src/petrack.cpp @@ -2126,27 +2126,27 @@ void Petrack::resetUI() getExtrCalibration()->setExtrCalibFile(nullptr); /// coord system - mControlWidget->coordShow->setCheckState(Qt::Unchecked); - mControlWidget->coordFix->setCheckState(Qt::Unchecked); - mControlWidget->coordTab->setCurrentIndex(0); - // 3D - mControlWidget->coord3DTransX->setValue(0); - mControlWidget->coord3DTransY->setValue(0); - mControlWidget->coord3DTransZ->setValue(0); - mControlWidget->coord3DAxeLen->setValue(200); - mControlWidget->coord3DSwapX->setCheckState(Qt::Unchecked); - mControlWidget->coord3DSwapY->setCheckState(Qt::Unchecked); - mControlWidget->coord3DSwapZ->setCheckState(Qt::Unchecked); - mControlWidget->extCalibPointsShow->setCheckState(Qt::Unchecked); - mControlWidget->extVanishPointsShow->setCheckState(Qt::Unchecked); - // 2D - mControlWidget->coordTransX->setValue(0); - mControlWidget->coordTransY->setValue(0); - mControlWidget->coordRotate->setValue(0); - mControlWidget->coordScale->setValue(100); - mControlWidget->coordAltitude->setValue(535); - mControlWidget->coordUnit->setValue(100); - mControlWidget->coordUseIntrinsic->setCheckState(Qt::Unchecked); + // mControlWidget->coordShow->setCheckState(Qt::Unchecked); + // mControlWidget->coordFix->setCheckState(Qt::Unchecked); + // mControlWidget->coordTab->setCurrentIndex(0); + // // 3D + // mControlWidget->coord3DTransX->setValue(0); + // mControlWidget->coord3DTransY->setValue(0); + // mControlWidget->coord3DTransZ->setValue(0); + // mControlWidget->coord3DAxeLen->setValue(200); + // mControlWidget->coord3DSwapX->setCheckState(Qt::Unchecked); + // mControlWidget->coord3DSwapY->setCheckState(Qt::Unchecked); + // mControlWidget->coord3DSwapZ->setCheckState(Qt::Unchecked); + // mControlWidget->extCalibPointsShow->setCheckState(Qt::Unchecked); + // mControlWidget->extVanishPointsShow->setCheckState(Qt::Unchecked); + // // 2D + // mControlWidget->coordTransX->setValue(0); + // mControlWidget->coordTransY->setValue(0); + // mControlWidget->coordRotate->setValue(0); + // mControlWidget->coordScale->setValue(100); + // mControlWidget->coordAltitude->setValue(535); + // mControlWidget->coordUnit->setValue(100); + // mControlWidget->coordUseIntrinsic->setCheckState(Qt::Unchecked); /// alignment grid mControlWidget->gridShow->setCheckState(Qt::Unchecked); @@ -2960,7 +2960,7 @@ int Petrack::calculateRealTracker() mControlWidget->anaMissingFrames->checkState(), mStereoWidget->stereoUseForExport->isChecked(), mControlWidget->trackAlternateHeight->checkState(), - mControlWidget->coordAltitude->value(), + mControlWidget->getCoordAltitude(), mStereoWidget->stereoUseCalibrationCenter->isChecked(), mControlWidget->exportElimTp->isChecked(), mControlWidget->exportElimTrj->isChecked(), @@ -3125,7 +3125,7 @@ void Petrack::exportTracker(QString dest) // default = "" } else // 2D { - mPersonStorage.recalcHeight(mControlWidget->coordAltitude->value()); + mPersonStorage.recalcHeight(mControlWidget->getCoordAltitude()); } } #ifdef TIME_MEASUREMENT @@ -3145,7 +3145,7 @@ void Petrack::exportTracker(QString dest) // default = "" mControlWidget->trackMissingFrames->checkState(), mStereoWidget->stereoUseForExport->isChecked(), mControlWidget->trackAlternateHeight->checkState(), - mControlWidget->coordAltitude->value(), + mControlWidget->getCoordAltitude(), mStereoWidget->stereoUseCalibrationCenter->isChecked(), mControlWidget->exportElimTp->isChecked(), mControlWidget->exportElimTrj->isChecked(), @@ -3255,7 +3255,7 @@ void Petrack::exportTracker(QString dest) // default = "" // einfliessen zu lassen) if(mControlWidget->trackRecalcHeight->checkState()) { - mPersonStorage.recalcHeight(mControlWidget->coordAltitude->value()); + mPersonStorage.recalcHeight(mControlWidget->getCoordAltitude()); } mTrackerReal->calculate( this, @@ -3266,7 +3266,7 @@ void Petrack::exportTracker(QString dest) // default = "" mControlWidget->trackMissingFrames->checkState(), mStereoWidget->stereoUseForExport->isChecked(), mControlWidget->trackAlternateHeight->checkState(), - mControlWidget->coordAltitude->value(), + mControlWidget->getCoordAltitude(), mStereoWidget->stereoUseCalibrationCenter->isChecked(), mControlWidget->exportElimTp->isChecked(), mControlWidget->exportElimTrj->isChecked(), @@ -3313,7 +3313,7 @@ void Petrack::exportTracker(QString dest) // default = "" // einfliessen zu lassen) if(mControlWidget->trackRecalcHeight->checkState()) { - mPersonStorage.recalcHeight(mControlWidget->coordAltitude->value()); + mPersonStorage.recalcHeight(mControlWidget->getCoordAltitude()); } mTrackerReal->calculate( @@ -3325,7 +3325,7 @@ void Petrack::exportTracker(QString dest) // default = "" mControlWidget->trackMissingFrames->checkState(), mStereoWidget->stereoUseForExport->isChecked(), mControlWidget->trackAlternateHeight->checkState(), - mControlWidget->coordAltitude->value(), + mControlWidget->getCoordAltitude(), mStereoWidget->stereoUseCalibrationCenter->isChecked(), mControlWidget->exportElimTp->isChecked(), mControlWidget->exportElimTrj->isChecked(), @@ -3937,8 +3937,8 @@ void Petrack::setHeadSize(double hS) { mCmPerPixel = getImageItem()->getCmPerPixel(); // debout << mCmPerPixel <<endl; - mHeadSize = (HEAD_SIZE * mControlWidget->coordAltitude->value() / - (mControlWidget->coordAltitude->value() - mControlWidget->mapDefaultHeight->value())) / + mHeadSize = (HEAD_SIZE * mControlWidget->getCoordAltitude() / + (mControlWidget->getCoordAltitude() - mControlWidget->mapDefaultHeight->value())) / mCmPerPixel; } else @@ -3983,12 +3983,11 @@ double Petrack::getHeadSize(QPointF *pos, int pers, int frame) h = mPersonStorage.at(pers).height(); if(z > 0) { - return (HEAD_SIZE * mControlWidget->coordAltitude->value() / z) / getImageItem()->getCmPerPixel(); + return (HEAD_SIZE * mControlWidget->getCoordAltitude() / z) / getImageItem()->getCmPerPixel(); } else if(h > MIN_HEIGHT) { - return (HEAD_SIZE * mControlWidget->coordAltitude->value() / - (mControlWidget->coordAltitude->value() - h)) / + return (HEAD_SIZE * mControlWidget->getCoordAltitude() / (mControlWidget->getCoordAltitude() - h)) / getImageItem()->getCmPerPixel(); } else diff --git a/src/tracker.cpp b/src/tracker.cpp index 37999a89e..e041e79b1 100644 --- a/src/tracker.cpp +++ b/src/tracker.cpp @@ -855,7 +855,7 @@ int Tracker::insertFeaturePoints(int frame, size_t count, cv::Mat &img, int bord mPrevFeaturePointsIdx[i], (mMainWindow->getControlWidget()->trackExtrapolation->checkState() == Qt::Checked), z, - mMainWindow->getControlWidget()->coordAltitude->value()); + mMainWindow->getControlWidget()->getCoordAltitude()); } ++inserted; diff --git a/src/trackerItem.cpp b/src/trackerItem.cpp index 0cf0a4fa9..86edd50cb 100644 --- a/src/trackerItem.cpp +++ b/src/trackerItem.cpp @@ -554,8 +554,7 @@ void TrackerItem::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*op painter->drawText( rect, Qt::AlignHCenter, - QString("-\n%2").arg( - mControlWidget->coordAltitude->value() - tp.sp().z(), 6, 'f', 1)); + QString("-\n%2").arg(mControlWidget->getCoordAltitude() - tp.sp().z(), 6, 'f', 1)); } } else @@ -576,7 +575,7 @@ void TrackerItem::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*op Qt::AlignHCenter, QString("%1\n%2") .arg(height, 6, 'f', 1) - .arg(mControlWidget->coordAltitude->value() - tp.sp().z(), 6, 'f', 1)); + .arg(mControlWidget->getCoordAltitude() - tp.sp().z(), 6, 'f', 1)); } } } diff --git a/ui/control.ui b/ui/control.ui index 615ff4777..ce2082556 100644 --- a/ui/control.ui +++ b/ui/control.ui @@ -135,9 +135,9 @@ <property name="geometry"> <rect> <x>0</x> - <y>-414</y> - <width>476</width> - <height>1394</height> + <y>-713</y> + <width>460</width> + <height>1268</height> </rect> </property> <property name="sizePolicy"> @@ -1564,7 +1564,7 @@ </widget> </item> <item> - <widget class="QGroupBox" name="align_2"> + <widget class="CoordinateSystem" name="coordinateSystem"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Minimum"> <horstretch>0</horstretch> @@ -1583,1111 +1583,19 @@ <height>16777215</height> </size> </property> - <property name="title"> - <string>coordinate system</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_14"> - <property name="leftMargin"> - <number>5</number> - </property> - <property name="topMargin"> - <number>5</number> - </property> - <property name="rightMargin"> - <number>5</number> - </property> - <property name="bottomMargin"> - <number>5</number> - </property> - <item> - <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,1"> - <item row="0" column="0"> - <widget class="QCheckBox" name="coordShow"> - <property name="minimumSize"> - <size> - <width>57</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Show the coordinate system.</string> - </property> - <property name="text"> - <string>show</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QCheckBox" name="coordFix"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Fix the coordinate system</string> - </property> - <property name="text"> - <string>fix</string> - </property> - </widget> - </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_9"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QTabWidget" name="coordTab"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="focusPolicy"> - <enum>Qt::StrongFocus</enum> - </property> - <property name="layoutDirection"> - <enum>Qt::LeftToRight</enum> - </property> - <property name="tabPosition"> - <enum>QTabWidget::North</enum> - </property> - <property name="tabShape"> - <enum>QTabWidget::Rounded</enum> - </property> - <property name="currentIndex"> - <number>0</number> - </property> - <property name="elideMode"> - <enum>Qt::ElideNone</enum> - </property> - <property name="usesScrollButtons"> - <bool>true</bool> - </property> - <property name="tabsClosable"> - <bool>false</bool> - </property> - <widget class="QWidget" name="coordTab3D"> - <attribute name="title"> - <string> 3D </string> - </attribute> - <attribute name="toolTip"> - <string>Select for 3D coordinatesystem</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_5"> - <item> - <layout class="QGridLayout" name="gridLayout_5"> - <property name="spacing"> - <number>4</number> - </property> - <item row="0" column="2"> - <widget class="QSpinBox" name="coord3DTransX_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - </widget> - </item> - <item row="2" column="2"> - <widget class="QSpinBox" name="coord3DTransZ_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - </widget> - </item> - <item row="1" column="2"> - <widget class="QSpinBox" name="coord3DTransY_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QScrollBar" name="coord3DTransZ"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="pageStep"> - <number>10</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QScrollBar" name="coord3DTransX"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>50</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="pageStep"> - <number>10</number> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QScrollBar" name="coord3DTransY"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="minimum"> - <number>-10000</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_57"> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="text"> - <string>z:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="label_56"> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="text"> - <string>axis length:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_55"> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="text"> - <string>y:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_54"> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="text"> - <string>translate [cm] x:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="3" column="2"> - <widget class="QSpinBox" name="coord3DAxeLen_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="suffix"> - <string> cm</string> - </property> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="value"> - <number>200</number> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QScrollBar" name="coord3DAxeLen"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="value"> - <number>200</number> - </property> - <property name="sliderPosition"> - <number>200</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_6"> - <item> - <widget class="QLabel" name="label_60"> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="text"> - <string>swap axis:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="coord3DSwapX"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>X-axis</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="coord3DSwapY"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>Y-axis</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="coord3DSwapZ"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>Z-axis</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_5"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_7"> - <item> - <widget class="QLabel" name="label_61"> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="text"> - <string> show:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="extCalibPointsShow"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>calibration points</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="extVanishPointsShow"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>vanish points</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_6"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - <widget class="QWidget" name="coordTab2D"> - <attribute name="title"> - <string> 2D </string> - </attribute> - <attribute name="toolTip"> - <string>Select for 2D coordinatesystem</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <item> - <layout class="QGridLayout"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <property name="spacing"> - <number>4</number> - </property> - <item row="1" column="2"> - <widget class="QSpinBox" name="coordTransX_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_34"> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="text"> - <string>translate x:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QScrollBar" name="coordTransX"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in x-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="pageStep"> - <number>10</number> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_32"> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="text"> - <string>y:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QScrollBar" name="coordTransY"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="label_33"> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="text"> - <string>scale:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QScrollBar" name="coordScale"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>100000</number> - </property> - <property name="value"> - <number>100</number> - </property> - <property name="sliderPosition"> - <number>100</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="2"> - <widget class="QSpinBox" name="coordTransY_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="toolTip"> - <string>Translate the coordinate system in y-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>10000</number> - </property> - </widget> - </item> - <item row="4" column="2"> - <widget class="QSpinBox" name="coordScale_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="toolTip"> - <string>Scale the coordinate system.</string> - </property> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>100000</number> - </property> - <property name="value"> - <number>100</number> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="label_35"> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="text"> - <string>rotate:</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QScrollBar" name="coordRotate"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>100</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>3600</number> - </property> - <property name="sliderPosition"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="3" column="2"> - <widget class="QSpinBox" name="coordRotate_spin"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="toolTip"> - <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> - </property> - <property name="minimum"> - <number>0</number> - </property> - <property name="maximum"> - <number>3600</number> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QGridLayout"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <item row="0" column="0"> - <widget class="QLabel" name="label_14"> - <property name="text"> - <string>camera altitude [cm]:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QDoubleSpinBox" name="coordAltitude"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="alignment"> - <set>Qt::AlignRight</set> - </property> - <property name="suffix"> - <string/> - </property> - <property name="decimals"> - <number>1</number> - </property> - <property name="minimum"> - <double>0.100000000000000</double> - </property> - <property name="maximum"> - <double>9999.000000000000000</double> - </property> - <property name="value"> - <double>535.000000000000000</double> - </property> - </widget> - </item> - <item row="0" column="2"> - <widget class="QLabel" name="coordAltitudeMeasured"> - <property name="minimumSize"> - <size> - <width>90</width> - <height>0</height> - </size> - </property> - <property name="text"> - <string>(measured: 535.0)</string> - </property> - </widget> - </item> - <item row="0" column="3"> - <spacer name="horizontalSpacer_8"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QGridLayout"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> - <item row="0" column="0"> - <widget class="QLabel" name="label_37"> - <property name="minimumSize"> - <size> - <width>57</width> - <height>0</height> - </size> - </property> - <property name="text"> - <string>unit [cm]:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QDoubleSpinBox" name="coordUnit"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>18</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>18</height> - </size> - </property> - <property name="alignment"> - <set>Qt::AlignRight</set> - </property> - <property name="suffix"> - <string/> - </property> - <property name="decimals"> - <number>0</number> - </property> - <property name="minimum"> - <double>1.000000000000000</double> - </property> - <property name="maximum"> - <double>9999.000000000000000</double> - </property> - <property name="singleStep"> - <double>1.000000000000000</double> - </property> - <property name="value"> - <double>100.000000000000000</double> - </property> - </widget> - </item> - <item row="0" column="2"> - <spacer> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QCheckBox" name="coordUseIntrinsic"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>17</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>17</height> - </size> - </property> - <property name="text"> - <string>use intrinsic center for calculating real position</string> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - </item> + <layout class="QVBoxLayout" name="verticalLayout_14"> + <property name="leftMargin"> + <number>5</number> + </property> + <property name="topMargin"> + <number>5</number> + </property> + <property name="rightMargin"> + <number>5</number> + </property> + <property name="bottomMargin"> + <number>5</number> + </property> </layout> </widget> </item> @@ -3511,8 +2419,8 @@ <rect> <x>0</x> <y>0</y> - <width>465</width> - <height>993</height> + <width>460</width> + <height>934</height> </rect> </property> <property name="sizePolicy"> @@ -3652,7 +2560,6 @@ <widget class="QLabel" name="recoNumberNow"> <property name="font"> <font> - <weight>75</weight> <bold>true</bold> </font> </property> @@ -4800,8 +3707,8 @@ <rect> <x>0</x> <y>0</y> - <width>465</width> - <height>1247</height> + <width>460</width> + <height>1138</height> </rect> </property> <property name="sizePolicy"> @@ -4994,7 +3901,6 @@ <widget class="QLabel" name="trackNumberNow"> <property name="font"> <font> - <weight>75</weight> <bold>true</bold> </font> </property> @@ -5035,7 +3941,6 @@ <widget class="QLabel" name="trackNumberVisible"> <property name="font"> <font> - <weight>75</weight> <bold>true</bold> </font> </property> @@ -5051,7 +3956,6 @@ <widget class="QLabel" name="trackNumberAll"> <property name="font"> <font> - <weight>75</weight> <bold>true</bold> </font> </property> @@ -6250,15 +5154,6 @@ <property name="palette"> <palette> <active> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -6304,42 +5199,6 @@ </color> </brush> </colorrole> - <colorrole role="Text"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> <colorrole role="Window"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -6367,24 +5226,6 @@ </color> </brush> </colorrole> - <colorrole role="ToolTipBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>220</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="PlaceholderText"> <brush brushstyle="NoBrush"> <color alpha="128"> @@ -6396,15 +5237,6 @@ </colorrole> </active> <inactive> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -6432,57 +5264,21 @@ </color> </brush> </colorrole> - <colorrole role="Dark"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Mid"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText"> + <colorrole role="Dark"> <brush brushstyle="SolidPattern"> <color alpha="255"> - <red>0</red> + <red>127</red> <green>0</green> <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="Base"> + <colorrole role="Mid"> <brush brushstyle="SolidPattern"> <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> + <red>170</red> + <green>0</green> + <blue>0</blue> </color> </brush> </colorrole> @@ -6513,24 +5309,6 @@ </color> </brush> </colorrole> - <colorrole role="ToolTipBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>220</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="PlaceholderText"> <brush brushstyle="NoBrush"> <color alpha="128"> @@ -6542,15 +5320,6 @@ </colorrole> </inactive> <disabled> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -6596,42 +5365,6 @@ </color> </brush> </colorrole> - <colorrole role="Text"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="Window"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -6659,24 +5392,6 @@ </color> </brush> </colorrole> - <colorrole role="ToolTipBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>220</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="PlaceholderText"> <brush brushstyle="NoBrush"> <color alpha="128"> @@ -6920,161 +5635,6 @@ <property name="palette"> <palette> <active> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>255</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Light"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>255</green> - <blue>127</blue> - </color> - </brush> - </colorrole> - <colorrole role="Midlight"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>63</red> - <green>255</green> - <blue>63</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>127</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Mid"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>255</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Shadow"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="AlternateBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>127</red> - <green>255</green> - <blue>127</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>220</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="PlaceholderText"> - <brush brushstyle="NoBrush"> - <color alpha="128"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -7113,46 +5673,10 @@ </colorrole> <colorrole role="Mid"> <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="BrightText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Base"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> + <color alpha="255"> + <red>0</red> + <green>170</green> + <blue>0</blue> </color> </brush> </colorrole> @@ -7183,24 +5707,6 @@ </color> </brush> </colorrole> - <colorrole role="ToolTipBase"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>220</blue> - </color> - </brush> - </colorrole> - <colorrole role="ToolTipText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> <colorrole role="PlaceholderText"> <brush brushstyle="NoBrush"> <color alpha="128"> @@ -7210,17 +5716,8 @@ </color> </brush> </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText"> - <brush brushstyle="SolidPattern"> - <color alpha="255"> - <red>0</red> - <green>127</green> - <blue>0</blue> - </color> - </brush> - </colorrole> + </active> + <inactive> <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> @@ -7266,34 +5763,45 @@ </color> </brush> </colorrole> - <colorrole role="Text"> + <colorrole role="Window"> <brush brushstyle="SolidPattern"> <color alpha="255"> <red>0</red> - <green>127</green> + <green>255</green> <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="BrightText"> + <colorrole role="Shadow"> <brush brushstyle="SolidPattern"> <color alpha="255"> - <red>255</red> - <green>255</green> - <blue>255</blue> + <red>0</red> + <green>0</green> + <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="ButtonText"> + <colorrole role="AlternateBase"> <brush brushstyle="SolidPattern"> <color alpha="255"> + <red>127</red> + <green>255</green> + <blue>127</blue> + </color> + </brush> + </colorrole> + <colorrole role="PlaceholderText"> + <brush brushstyle="NoBrush"> + <color alpha="128"> <red>0</red> - <green>127</green> + <green>0</green> <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="Base"> + </inactive> + <disabled> + <colorrole role="Button"> <brush brushstyle="SolidPattern"> <color alpha="255"> <red>0</red> @@ -7302,43 +5810,52 @@ </color> </brush> </colorrole> - <colorrole role="Window"> + <colorrole role="Light"> <brush brushstyle="SolidPattern"> <color alpha="255"> - <red>0</red> + <red>127</red> <green>255</green> - <blue>0</blue> + <blue>127</blue> </color> </brush> </colorrole> - <colorrole role="Shadow"> + <colorrole role="Midlight"> + <brush brushstyle="SolidPattern"> + <color alpha="255"> + <red>63</red> + <green>255</green> + <blue>63</blue> + </color> + </brush> + </colorrole> + <colorrole role="Dark"> <brush brushstyle="SolidPattern"> <color alpha="255"> <red>0</red> - <green>0</green> + <green>127</green> <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="AlternateBase"> + <colorrole role="Mid"> <brush brushstyle="SolidPattern"> <color alpha="255"> <red>0</red> - <green>255</green> + <green>170</green> <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="ToolTipBase"> + <colorrole role="Window"> <brush brushstyle="SolidPattern"> <color alpha="255"> - <red>255</red> + <red>0</red> <green>255</green> - <blue>220</blue> + <blue>0</blue> </color> </brush> </colorrole> - <colorrole role="ToolTipText"> + <colorrole role="Shadow"> <brush brushstyle="SolidPattern"> <color alpha="255"> <red>0</red> @@ -7347,6 +5864,15 @@ </color> </brush> </colorrole> + <colorrole role="AlternateBase"> + <brush brushstyle="SolidPattern"> + <color alpha="255"> + <red>0</red> + <green>255</green> + <blue>0</blue> + </color> + </brush> + </colorrole> <colorrole role="PlaceholderText"> <brush brushstyle="NoBrush"> <color alpha="128"> @@ -7669,8 +6195,8 @@ <rect> <x>0</x> <y>0</y> - <width>479</width> - <height>553</height> + <width>477</width> + <height>555</height> </rect> </property> <property name="sizePolicy"> @@ -7853,6 +6379,12 @@ <header>colorPlot.h</header> <container>1</container> </customwidget> + <customwidget> + <class>CoordinateSystem</class> + <extends>QFrame</extends> + <header>coordinateSystem.h</header> + <container>1</container> + </customwidget> </customwidgets> <tabstops> <tabstop>filterBrightContrast</tabstop> @@ -7908,18 +6440,6 @@ <tabstop>extrCalibSave</tabstop> <tabstop>extrCalibShowPoints</tabstop> <tabstop>extrCalibShowError</tabstop> - <tabstop>coordShow</tabstop> - <tabstop>coordFix</tabstop> - <tabstop>coordTab</tabstop> - <tabstop>coord3DTransX_spin</tabstop> - <tabstop>coord3DTransY_spin</tabstop> - <tabstop>coord3DTransZ_spin</tabstop> - <tabstop>coord3DAxeLen_spin</tabstop> - <tabstop>coord3DSwapX</tabstop> - <tabstop>coord3DSwapY</tabstop> - <tabstop>coord3DSwapZ</tabstop> - <tabstop>extCalibPointsShow</tabstop> - <tabstop>extVanishPointsShow</tabstop> <tabstop>gridShow</tabstop> <tabstop>gridFix</tabstop> <tabstop>gridTab</tabstop> @@ -8037,16 +6557,9 @@ <tabstop>scrollArea_3</tabstop> <tabstop>tabs</tabstop> <tabstop>scrollArea</tabstop> - <tabstop>coordScale_spin</tabstop> - <tabstop>coordUnit</tabstop> - <tabstop>coordTransX_spin</tabstop> <tabstop>gridTransY_spin</tabstop> <tabstop>scrollArea_2</tabstop> - <tabstop>coordTransY_spin</tabstop> <tabstop>gridRot_spin</tabstop> - <tabstop>coordAltitude</tabstop> - <tabstop>coordUseIntrinsic</tabstop> - <tabstop>coordRotate_spin</tabstop> <tabstop>gridScale_spin</tabstop> <tabstop>scrollArea_4</tabstop> <tabstop>gridTransX_spin</tabstop> @@ -8060,12 +6573,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>92</x> - <y>996</y> + <x>166</x> + <y>483</y> </hint> <hint type="destinationlabel"> - <x>120</x> - <y>996</y> + <x>442</x> + <y>483</y> </hint> </hints> </connection> @@ -8076,12 +6589,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>120</x> - <y>996</y> + <x>442</x> + <y>483</y> </hint> <hint type="destinationlabel"> - <x>92</x> - <y>996</y> + <x>166</x> + <y>483</y> </hint> </hints> </connection> @@ -8092,12 +6605,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>92</x> - <y>1021</y> + <x>166</x> + <y>535</y> </hint> <hint type="destinationlabel"> - <x>120</x> - <y>1021</y> + <x>442</x> + <y>535</y> </hint> </hints> </connection> @@ -8108,12 +6621,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>169</x> - <y>991</y> + <x>243</x> + <y>457</y> </hint> <hint type="destinationlabel"> - <x>120</x> - <y>991</y> + <x>442</x> + <y>457</y> </hint> </hints> </connection> @@ -8124,28 +6637,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>120</x> - <y>1000</y> + <x>442</x> + <y>509</y> </hint> <hint type="destinationlabel"> - <x>119</x> - <y>1000</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordTransY</sender> - <signal>valueChanged(int)</signal> - <receiver>coordTransY_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>92</x> - <y>713</y> - </hint> - <hint type="destinationlabel"> - <x>120</x> - <y>713</y> + <x>193</x> + <y>509</y> </hint> </hints> </connection> @@ -8156,28 +6653,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>119</x> - <y>1000</y> - </hint> - <hint type="destinationlabel"> - <x>120</x> - <y>1000</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordTransX</sender> - <signal>valueChanged(int)</signal> - <receiver>coordTransX_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>92</x> - <y>712</y> + <x>193</x> + <y>509</y> </hint> <hint type="destinationlabel"> - <x>120</x> - <y>712</y> + <x>442</x> + <y>509</y> </hint> </hints> </connection> @@ -8188,12 +6669,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>120</x> - <y>1021</y> + <x>442</x> + <y>535</y> </hint> <hint type="destinationlabel"> - <x>92</x> - <y>1021</y> + <x>166</x> + <y>535</y> </hint> </hints> </connection> @@ -8204,76 +6685,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>120</x> - <y>991</y> - </hint> - <hint type="destinationlabel"> - <x>169</x> - <y>991</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordScale</sender> - <signal>valueChanged(int)</signal> - <receiver>coordScale_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>92</x> - <y>732</y> - </hint> - <hint type="destinationlabel"> - <x>120</x> - <y>733</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordRotate</sender> - <signal>valueChanged(int)</signal> - <receiver>coordRotate_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>139</x> - <y>727</y> - </hint> - <hint type="destinationlabel"> - <x>120</x> - <y>729</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordTransY_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coordTransY</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>120</x> - <y>713</y> - </hint> - <hint type="destinationlabel"> - <x>92</x> - <y>713</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordTransX_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coordTransX</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>120</x> - <y>712</y> + <x>442</x> + <y>457</y> </hint> <hint type="destinationlabel"> - <x>92</x> - <y>712</y> + <x>243</x> + <y>457</y> </hint> </hints> </connection> @@ -8284,76 +6701,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>274</x> - <y>1019</y> - </hint> - <hint type="destinationlabel"> - <x>351</x> - <y>1017</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransZ_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransZ</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>351</x> - <y>771</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>771</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordRotate_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coordRotate</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>120</x> - <y>729</y> - </hint> - <hint type="destinationlabel"> - <x>139</x> - <y>727</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DAxeLen_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DAxeLen</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>351</x> - <y>792</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>792</y> - </hint> - </hints> - </connection> - <connection> - <sender>coordScale_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coordScale</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>120</x> - <y>733</y> + <x>367</x> + <y>482</y> </hint> <hint type="destinationlabel"> - <x>92</x> - <y>732</y> + <x>442</x> + <y>480</y> </hint> </hints> </connection> @@ -8364,12 +6717,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>274</x> - <y>993</y> + <x>367</x> + <y>456</y> </hint> <hint type="destinationlabel"> - <x>351</x> - <y>991</y> + <x>442</x> + <y>454</y> </hint> </hints> </connection> @@ -8380,12 +6733,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>274</x> - <y>1087</y> + <x>367</x> + <y>550</y> </hint> <hint type="destinationlabel"> - <x>351</x> - <y>1089</y> + <x>442</x> + <y>553</y> </hint> </hints> </connection> @@ -8396,12 +6749,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>274</x> - <y>1045</y> + <x>367</x> + <y>508</y> </hint> <hint type="destinationlabel"> - <x>351</x> - <y>1043</y> + <x>442</x> + <y>506</y> </hint> </hints> </connection> @@ -8412,12 +6765,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>351</x> - <y>1089</y> + <x>442</x> + <y>553</y> </hint> <hint type="destinationlabel"> - <x>274</x> - <y>1087</y> + <x>367</x> + <y>550</y> </hint> </hints> </connection> @@ -8428,12 +6781,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>351</x> - <y>1017</y> + <x>442</x> + <y>480</y> </hint> <hint type="destinationlabel"> - <x>274</x> - <y>1019</y> + <x>367</x> + <y>482</y> </hint> </hints> </connection> @@ -8444,60 +6797,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>351</x> - <y>1043</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>1045</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransY</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransY_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>274</x> - <y>750</y> - </hint> - <hint type="destinationlabel"> - <x>351</x> - <y>750</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransZ</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransZ_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>274</x> - <y>771</y> - </hint> - <hint type="destinationlabel"> - <x>351</x> - <y>771</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DAxeLen</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DAxeLen_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>274</x> - <y>792</y> + <x>442</x> + <y>506</y> </hint> <hint type="destinationlabel"> - <x>351</x> - <y>792</y> + <x>367</x> + <y>508</y> </hint> </hints> </connection> @@ -8508,60 +6813,12 @@ <slot>setValue(int)</slot> <hints> <hint type="sourcelabel"> - <x>351</x> - <y>991</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>993</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransX_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransX</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>351</x> - <y>713</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>713</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransY_spin</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransY</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>351</x> - <y>750</y> - </hint> - <hint type="destinationlabel"> - <x>274</x> - <y>750</y> - </hint> - </hints> - </connection> - <connection> - <sender>coord3DTransX</sender> - <signal>valueChanged(int)</signal> - <receiver>coord3DTransX_spin</receiver> - <slot>setValue(int)</slot> - <hints> - <hint type="sourcelabel"> - <x>274</x> - <y>713</y> + <x>442</x> + <y>454</y> </hint> <hint type="destinationlabel"> - <x>351</x> - <y>713</y> + <x>367</x> + <y>456</y> </hint> </hints> </connection> diff --git a/ui/coordinateSystem.ui b/ui/coordinateSystem.ui new file mode 100644 index 000000000..24fb3fc6f --- /dev/null +++ b/ui/coordinateSystem.ui @@ -0,0 +1,1406 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>CoordinateSystem</class> + <widget class="QFrame" name="CoordinateSystem"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>467</width> + <height>362</height> + </rect> + </property> + <property name="windowTitle"> + <string>Frame</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QGroupBox" name="align_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>300</width> + <height>271</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16777215</height> + </size> + </property> + <property name="title"> + <string>coordinate system</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_14"> + <property name="leftMargin"> + <number>5</number> + </property> + <property name="topMargin"> + <number>5</number> + </property> + <property name="rightMargin"> + <number>5</number> + </property> + <property name="bottomMargin"> + <number>5</number> + </property> + <item> + <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,1"> + <item row="0" column="0"> + <widget class="QCheckBox" name="coordShow"> + <property name="minimumSize"> + <size> + <width>57</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Show the coordinate system.</string> + </property> + <property name="text"> + <string>show</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="coordFix"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Fix the coordinate system</string> + </property> + <property name="text"> + <string>fix</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_9"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QTabWidget" name="coordTab"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="layoutDirection"> + <enum>Qt::LeftToRight</enum> + </property> + <property name="tabPosition"> + <enum>QTabWidget::North</enum> + </property> + <property name="tabShape"> + <enum>QTabWidget::Rounded</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <property name="elideMode"> + <enum>Qt::ElideNone</enum> + </property> + <property name="usesScrollButtons"> + <bool>true</bool> + </property> + <property name="tabsClosable"> + <bool>false</bool> + </property> + <widget class="QWidget" name="coordTab3D"> + <attribute name="title"> + <string> 3D </string> + </attribute> + <attribute name="toolTip"> + <string>Select for 3D coordinatesystem</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QGridLayout" name="gridLayout_5"> + <property name="spacing"> + <number>4</number> + </property> + <item row="0" column="2"> + <widget class="QSpinBox" name="coord3DTransX_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QSpinBox" name="coord3DTransZ_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QSpinBox" name="coord3DTransY_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QScrollBar" name="coord3DTransZ"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="pageStep"> + <number>10</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QScrollBar" name="coord3DTransX"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>50</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="pageStep"> + <number>10</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QScrollBar" name="coord3DTransY"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="minimum"> + <number>-10000</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_57"> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="text"> + <string>z:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_56"> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="text"> + <string>axis length:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_55"> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="text"> + <string>y:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_54"> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="text"> + <string>translate [cm] x:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QSpinBox" name="coord3DAxeLen_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="suffix"> + <string> cm</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="value"> + <number>200</number> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QScrollBar" name="coord3DAxeLen"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="value"> + <number>200</number> + </property> + <property name="sliderPosition"> + <number>200</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLabel" name="label_60"> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="text"> + <string>swap axis:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="coord3DSwapX"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>X-axis</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="coord3DSwapY"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>Y-axis</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="coord3DSwapZ"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>Z-axis</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QLabel" name="label_61"> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="text"> + <string> show:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="extCalibPointsShow"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>calibration points</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="extVanishPointsShow"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>vanish points</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="coordTab2D"> + <attribute name="title"> + <string> 2D </string> + </attribute> + <attribute name="toolTip"> + <string>Select for 2D coordinatesystem</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QGridLayout" name="_2"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <property name="spacing"> + <number>4</number> + </property> + <item row="1" column="2"> + <widget class="QSpinBox" name="coordTransX_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_34"> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="text"> + <string>translate x:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QScrollBar" name="coordTransX"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in x-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="pageStep"> + <number>10</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_32"> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="text"> + <string>y:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QScrollBar" name="coordTransY"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_33"> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="text"> + <string>scale:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QScrollBar" name="coordScale"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>100000</number> + </property> + <property name="value"> + <number>100</number> + </property> + <property name="sliderPosition"> + <number>100</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QSpinBox" name="coordTransY_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="toolTip"> + <string>Translate the coordinate system in y-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>10000</number> + </property> + </widget> + </item> + <item row="4" column="2"> + <widget class="QSpinBox" name="coordScale_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="toolTip"> + <string>Scale the coordinate system.</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>100000</number> + </property> + <property name="value"> + <number>100</number> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_35"> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="text"> + <string>rotate:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QScrollBar" name="coordRotate"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>3600</number> + </property> + <property name="sliderPosition"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QSpinBox" name="coordRotate_spin"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="toolTip"> + <string>2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.</string> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>3600</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="_3"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <property name="spacing"> + <number>6</number> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="label_14"> + <property name="text"> + <string>camera altitude [cm]:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QDoubleSpinBox" name="coordAltitude"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="alignment"> + <set>Qt::AlignRight</set> + </property> + <property name="suffix"> + <string/> + </property> + <property name="decimals"> + <number>1</number> + </property> + <property name="minimum"> + <double>0.100000000000000</double> + </property> + <property name="maximum"> + <double>9999.000000000000000</double> + </property> + <property name="value"> + <double>535.000000000000000</double> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QLabel" name="coordAltitudeMeasured"> + <property name="minimumSize"> + <size> + <width>90</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>(measured: 535.0)</string> + </property> + </widget> + </item> + <item row="0" column="3"> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="_4"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <property name="spacing"> + <number>6</number> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="label_37"> + <property name="minimumSize"> + <size> + <width>57</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>unit [cm]:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QDoubleSpinBox" name="coordUnit"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>18</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>18</height> + </size> + </property> + <property name="alignment"> + <set>Qt::AlignRight</set> + </property> + <property name="suffix"> + <string/> + </property> + <property name="decimals"> + <number>0</number> + </property> + <property name="minimum"> + <double>1.000000000000000</double> + </property> + <property name="maximum"> + <double>9999.000000000000000</double> + </property> + <property name="singleStep"> + <double>1.000000000000000</double> + </property> + <property name="value"> + <double>100.000000000000000</double> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QCheckBox" name="coordUseIntrinsic"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>17</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>17</height> + </size> + </property> + <property name="text"> + <string>use intrinsic center for calculating real position</string> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>coord3DTransX</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransX_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>348</x> + <y>177</y> + </hint> + <hint type="destinationlabel"> + <x>377</x> + <y>177</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DTransX_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransX</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>403</x> + <y>174</y> + </hint> + <hint type="destinationlabel"> + <x>326</x> + <y>178</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DTransY</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransY_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>311</x> + <y>198</y> + </hint> + <hint type="destinationlabel"> + <x>367</x> + <y>198</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DTransY_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransY</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>380</x> + <y>198</y> + </hint> + <hint type="destinationlabel"> + <x>228</x> + <y>198</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DTransZ</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransZ_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>320</x> + <y>219</y> + </hint> + <hint type="destinationlabel"> + <x>383</x> + <y>218</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DTransZ_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DTransZ</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>377</x> + <y>224</y> + </hint> + <hint type="destinationlabel"> + <x>243</x> + <y>220</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DAxeLen</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DAxeLen_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>299</x> + <y>238</y> + </hint> + <hint type="destinationlabel"> + <x>392</x> + <y>243</y> + </hint> + </hints> + </connection> + <connection> + <sender>coord3DAxeLen_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coord3DAxeLen</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>402</x> + <y>240</y> + </hint> + <hint type="destinationlabel"> + <x>239</x> + <y>240</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordTransX</sender> + <signal>valueChanged(int)</signal> + <receiver>coordTransX_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>232</x> + <y>177</y> + </hint> + <hint type="destinationlabel"> + <x>409</x> + <y>177</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordTransX_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coordTransX</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>409</x> + <y>177</y> + </hint> + <hint type="destinationlabel"> + <x>232</x> + <y>177</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordTransY</sender> + <signal>valueChanged(int)</signal> + <receiver>coordTransY_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>346</x> + <y>198</y> + </hint> + <hint type="destinationlabel"> + <x>391</x> + <y>198</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordTransY_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coordTransY</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>397</x> + <y>199</y> + </hint> + <hint type="destinationlabel"> + <x>275</x> + <y>205</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordRotate</sender> + <signal>valueChanged(int)</signal> + <receiver>coordRotate_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>339</x> + <y>221</y> + </hint> + <hint type="destinationlabel"> + <x>398</x> + <y>219</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordRotate_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coordRotate</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>403</x> + <y>227</y> + </hint> + <hint type="destinationlabel"> + <x>258</x> + <y>225</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordScale</sender> + <signal>valueChanged(int)</signal> + <receiver>coordScale_spin</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>258</x> + <y>239</y> + </hint> + <hint type="destinationlabel"> + <x>401</x> + <y>245</y> + </hint> + </hints> + </connection> + <connection> + <sender>coordScale_spin</sender> + <signal>valueChanged(int)</signal> + <receiver>coordScale</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>383</x> + <y>239</y> + </hint> + <hint type="destinationlabel"> + <x>278</x> + <y>241</y> + </hint> + </hints> + </connection> + </connections> +</ui> -- GitLab From 13250cb3fe48875862401e363d8ac465dbf8f89d Mon Sep 17 00:00:00 2001 From: "Kilic, Deniz" <d.kilic@fz-juelich.de> Date: Thu, 25 Aug 2022 15:09:34 +0200 Subject: [PATCH 2/5] Formatting --- include/coordinateSystem.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/coordinateSystem.h b/include/coordinateSystem.h index 3776efadd..7302bcdb7 100644 --- a/include/coordinateSystem.h +++ b/include/coordinateSystem.h @@ -3,7 +3,8 @@ #include <QFrame> -namespace Ui { +namespace Ui +{ class CoordinateSystem; } class QDomElement; -- GitLab From 288bc740169e0136a3d7b37693a3931481e8dc4f Mon Sep 17 00:00:00 2001 From: "Kilic, Deniz" <d.kilic@fz-juelich.de> Date: Thu, 25 Aug 2022 15:32:33 +0200 Subject: [PATCH 3/5] Read coord dimension and freeze coordinateSystem box --- src/coordinateSystem.cpp | 30 ++++++++++++++++------- ui/coordinateSystem.ui | 52 ++++++++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/src/coordinateSystem.cpp b/src/coordinateSystem.cpp index 5ab98dfd2..5cd32cf40 100644 --- a/src/coordinateSystem.cpp +++ b/src/coordinateSystem.cpp @@ -34,6 +34,18 @@ CoordinateSystem::CoordinateSystem(QWidget *parent) : QFrame(parent), ui(new Ui: connect(ui->coord3DSwapX, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DXChanged(i); }); connect(ui->coord3DSwapY, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DYChanged(i); }); connect(ui->coord3DSwapZ, &QCheckBox::stateChanged, this, [this](int i) { emit swap3DZChanged(i); }); + + connect( + ui->freezeBtn, + &QPushButton::clicked, + this, + [this](bool checked) + { + ui->align_2->setEnabled(!checked); + // ui->coordTab->setEnabled(!checked); // also disables all childs of coordTab + // ui->coordShow->setEnabled(!checked); + // ui->coordFix->setEnabled(!checked); + }); } CoordinateSystem::~CoordinateSystem() @@ -43,6 +55,15 @@ CoordinateSystem::~CoordinateSystem() void CoordinateSystem::getXml(QDomElement &subSubElem) { + if(subSubElem.hasAttribute("COORD_DIMENSION")) + { + ui->coordTab->setCurrentIndex(subSubElem.attribute("COORD_DIMENSION").toInt()); + } + else + { + ui->coordTab->setCurrentIndex(1); // = 2D + } + if(subSubElem.hasAttribute("SHOW")) { ui->coordShow->setCheckState(subSubElem.attribute("SHOW").toInt() ? Qt::Checked : Qt::Unchecked); @@ -129,15 +150,6 @@ void CoordinateSystem::setXml(QDomElement &subSubElem) subSubElem.attribute("SHOW_CALIB_POINTS").toInt() ? Qt::Checked : Qt::Unchecked); } - if(subSubElem.hasAttribute("COORD_DIMENSION")) - { - ui->coordTab->setCurrentIndex(subSubElem.attribute("COORD_DIMENSION").toInt()); - } - else - { - ui->coordTab->setCurrentIndex(1); // = 2D - } - subSubElem.setAttribute("COORD_DIMENSION", ui->coordTab->currentIndex()); subSubElem.setAttribute("SHOW_CALIB_POINTS", ui->extCalibPointsShow->isChecked()); diff --git a/ui/coordinateSystem.ui b/ui/coordinateSystem.ui index 24fb3fc6f..b43ee1ff0 100644 --- a/ui/coordinateSystem.ui +++ b/ui/coordinateSystem.ui @@ -13,7 +13,29 @@ <property name="windowTitle"> <string>Frame</string> </property> - <layout class="QHBoxLayout" name="horizontalLayout"> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="freezeBtn"> + <property name="styleSheet"> + <string notr="true">QPushButton { + border: 2px solid #8f8f91; + + background-color: rgb(85, 170, 0); +} + +QPushButton:checked { + border: 2px solid #8f8f91; + background-color: rgb(255, 85, 0); +}</string> + </property> + <property name="text"> + <string>Freeze Coordinate System</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> <item> <widget class="QGroupBox" name="align_2"> <property name="sizePolicy"> @@ -51,7 +73,7 @@ <number>5</number> </property> <item> - <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,1"> + <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,0,0,0"> <item row="0" column="0"> <widget class="QCheckBox" name="coordShow"> <property name="minimumSize"> @@ -74,6 +96,19 @@ </property> </widget> </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_9"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> <item row="0" column="1"> <widget class="QCheckBox" name="coordFix"> <property name="minimumSize"> @@ -96,19 +131,6 @@ </property> </widget> </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_9"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> </layout> </item> <item> -- GitLab From fa231405bb09fd291648567a21cf966aea550d50 Mon Sep 17 00:00:00 2001 From: "Kilic, Deniz" <d.kilic@fz-juelich.de> Date: Fri, 26 Aug 2022 10:56:41 +0200 Subject: [PATCH 4/5] Delete layout on promoted widget and make btn normal --- ui/control.ui | 16 +--------------- ui/coordinateSystem.ui | 13 ++----------- 2 files changed, 3 insertions(+), 26 deletions(-) diff --git a/ui/control.ui b/ui/control.ui index ce2082556..5b07a1346 100644 --- a/ui/control.ui +++ b/ui/control.ui @@ -135,7 +135,7 @@ <property name="geometry"> <rect> <x>0</x> - <y>-713</y> + <y>-691</y> <width>460</width> <height>1268</height> </rect> @@ -1583,20 +1583,6 @@ <height>16777215</height> </size> </property> - <layout class="QVBoxLayout" name="verticalLayout_14"> - <property name="leftMargin"> - <number>5</number> - </property> - <property name="topMargin"> - <number>5</number> - </property> - <property name="rightMargin"> - <number>5</number> - </property> - <property name="bottomMargin"> - <number>5</number> - </property> - </layout> </widget> </item> <item> diff --git a/ui/coordinateSystem.ui b/ui/coordinateSystem.ui index b43ee1ff0..6fc3c725f 100644 --- a/ui/coordinateSystem.ui +++ b/ui/coordinateSystem.ui @@ -17,16 +17,7 @@ <item> <widget class="QPushButton" name="freezeBtn"> <property name="styleSheet"> - <string notr="true">QPushButton { - border: 2px solid #8f8f91; - - background-color: rgb(85, 170, 0); -} - -QPushButton:checked { - border: 2px solid #8f8f91; - background-color: rgb(255, 85, 0); -}</string> + <string notr="true"/> </property> <property name="text"> <string>Freeze Coordinate System</string> @@ -73,7 +64,7 @@ QPushButton:checked { <number>5</number> </property> <item> - <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,0,0,0"> + <layout class="QGridLayout" name="gridLayout_7" columnstretch="0,0,0"> <item row="0" column="0"> <widget class="QCheckBox" name="coordShow"> <property name="minimumSize"> -- GitLab From 285ce9416e20e42d6956a1d62d5ec9c600a71ef6 Mon Sep 17 00:00:00 2001 From: "Kilic, Deniz" <d.kilic@fz-juelich.de> Date: Fri, 26 Aug 2022 11:18:34 +0200 Subject: [PATCH 5/5] Update comment; automatic singal-slot still works --- src/control.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/control.cpp b/src/control.cpp index f3b9dd016..cdbb2a5e0 100644 --- a/src/control.cpp +++ b/src/control.cpp @@ -245,8 +245,8 @@ Control::Control( // add connections to coordinateSystem signals; name of slots has not been altered, but automatic - // signal-slot-connection does not work with extracted ui-file. (This breaks silently, that is why the explicit - // connection should be preferred) + // signal-slot-connection does not work with renamed widgets. (This breaks silently/warns on runtime, that is why + // the explicit connection should be preferred) connect(coordinateSystem, &CoordinateSystem::currentTabChanged, this, &Control::on_coordTab_currentChanged); // 2D Coordinates connect(coordinateSystem, &CoordinateSystem::coordShowChanged, this, &Control::on_coordShow_stateChanged); -- GitLab