ui_registrationDlg.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. /********************************************************************************
  2. ** Form generated from reading UI file 'registrationDlg.ui'
  3. **
  4. ** Created by: Qt User Interface Compiler version 5.15.10
  5. **
  6. ** WARNING! All changes made in this file will be lost when recompiling UI file!
  7. ********************************************************************************/
  8. #ifndef UI_REGISTRATIONDLG_H
  9. #define UI_REGISTRATIONDLG_H
  10. #include <QtCore/QVariant>
  11. #include <QtWidgets/QApplication>
  12. #include <QtWidgets/QCheckBox>
  13. #include <QtWidgets/QComboBox>
  14. #include <QtWidgets/QDialog>
  15. #include <QtWidgets/QDialogButtonBox>
  16. #include <QtWidgets/QFormLayout>
  17. #include <QtWidgets/QFrame>
  18. #include <QtWidgets/QGridLayout>
  19. #include <QtWidgets/QGroupBox>
  20. #include <QtWidgets/QHBoxLayout>
  21. #include <QtWidgets/QLabel>
  22. #include <QtWidgets/QLineEdit>
  23. #include <QtWidgets/QPushButton>
  24. #include <QtWidgets/QRadioButton>
  25. #include <QtWidgets/QSpacerItem>
  26. #include <QtWidgets/QSpinBox>
  27. #include <QtWidgets/QTabWidget>
  28. #include <QtWidgets/QToolButton>
  29. #include <QtWidgets/QVBoxLayout>
  30. #include <QtWidgets/QWidget>
  31. QT_BEGIN_NAMESPACE
  32. class Ui_RegistrationDialog
  33. {
  34. public:
  35. QVBoxLayout *verticalLayout_2;
  36. QGroupBox *groupBox_5;
  37. QGridLayout *gridLayout;
  38. QLabel *label_10;
  39. QLineEdit *dataLineEdit;
  40. QToolButton *modelColorButton;
  41. QToolButton *dataColorButton;
  42. QLabel *label_9;
  43. QLineEdit *modelLineEdit;
  44. QPushButton *swapButton;
  45. QTabWidget *tabWidget;
  46. QWidget *tabStdParams;
  47. QVBoxLayout *verticalLayout_3;
  48. QFormLayout *formLayout;
  49. QRadioButton *iterationsCriterion;
  50. QSpinBox *maxIterationCount;
  51. QRadioButton *errorCriterion;
  52. QLineEdit *rmsDifferenceLineEdit;
  53. QLabel *label_4;
  54. QSpinBox *overlapSpinBox;
  55. QSpacerItem *verticalSpacer_2;
  56. QCheckBox *adjustScaleCheckBox;
  57. QFrame *useNormalsFrame;
  58. QHBoxLayout *horizontalLayout;
  59. QLabel *label_5;
  60. QComboBox *normalsComboBox;
  61. QSpacerItem *horizontalSpacer_3;
  62. QFrame *threadingFrame;
  63. QHBoxLayout *horizontalLayout_7;
  64. QFrame *threadCountFrame;
  65. QHBoxLayout *horizontalLayout_8;
  66. QLabel *label_6;
  67. QSpinBox *maxThreadCountSpinBox;
  68. QSpacerItem *horizontalSpacer_2;
  69. QWidget *tabResearchParams;
  70. QVBoxLayout *verticalLayout;
  71. QFormLayout *formLayout_2;
  72. QLabel *label;
  73. QSpinBox *randomSamplingLimitSpinBox;
  74. QLabel *label_2;
  75. QComboBox *rotComboBox;
  76. QLabel *label_3;
  77. QHBoxLayout *horizontalLayout_5;
  78. QSpacerItem *horizontalSpacer;
  79. QCheckBox *TxCheckBox;
  80. QCheckBox *TyCheckBox;
  81. QCheckBox *TzCheckBox;
  82. QCheckBox *pointsRemoval;
  83. QCheckBox *checkBoxUseDataSFAsWeights;
  84. QCheckBox *checkBoxUseModelSFAsWeights;
  85. QFrame *c2mDistancesFrame;
  86. QHBoxLayout *horizontalLayout_2;
  87. QCheckBox *useC2MSignedDistancesCheckBox;
  88. QCheckBox *robustC2MDistsCheckBox;
  89. QSpacerItem *verticalSpacer_3;
  90. QFrame *frame;
  91. QVBoxLayout *verticalLayout_4;
  92. QSpacerItem *verticalSpacer;
  93. QDialogButtonBox *buttonBox;
  94. void setupUi(QDialog *RegistrationDialog)
  95. {
  96. if (RegistrationDialog->objectName().isEmpty())
  97. RegistrationDialog->setObjectName(QString::fromUtf8("RegistrationDialog"));
  98. RegistrationDialog->resize(411, 458);
  99. verticalLayout_2 = new QVBoxLayout(RegistrationDialog);
  100. verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
  101. groupBox_5 = new QGroupBox(RegistrationDialog);
  102. groupBox_5->setObjectName(QString::fromUtf8("groupBox_5"));
  103. QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
  104. sizePolicy.setHorizontalStretch(0);
  105. sizePolicy.setVerticalStretch(0);
  106. sizePolicy.setHeightForWidth(groupBox_5->sizePolicy().hasHeightForWidth());
  107. groupBox_5->setSizePolicy(sizePolicy);
  108. gridLayout = new QGridLayout(groupBox_5);
  109. gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
  110. label_10 = new QLabel(groupBox_5);
  111. label_10->setObjectName(QString::fromUtf8("label_10"));
  112. gridLayout->addWidget(label_10, 0, 1, 1, 1);
  113. dataLineEdit = new QLineEdit(groupBox_5);
  114. dataLineEdit->setObjectName(QString::fromUtf8("dataLineEdit"));
  115. dataLineEdit->setReadOnly(true);
  116. gridLayout->addWidget(dataLineEdit, 0, 2, 1, 1);
  117. modelColorButton = new QToolButton(groupBox_5);
  118. modelColorButton->setObjectName(QString::fromUtf8("modelColorButton"));
  119. modelColorButton->setEnabled(false);
  120. gridLayout->addWidget(modelColorButton, 1, 0, 1, 1);
  121. dataColorButton = new QToolButton(groupBox_5);
  122. dataColorButton->setObjectName(QString::fromUtf8("dataColorButton"));
  123. dataColorButton->setEnabled(false);
  124. gridLayout->addWidget(dataColorButton, 0, 0, 1, 1);
  125. label_9 = new QLabel(groupBox_5);
  126. label_9->setObjectName(QString::fromUtf8("label_9"));
  127. gridLayout->addWidget(label_9, 1, 1, 1, 1);
  128. modelLineEdit = new QLineEdit(groupBox_5);
  129. modelLineEdit->setObjectName(QString::fromUtf8("modelLineEdit"));
  130. modelLineEdit->setReadOnly(true);
  131. gridLayout->addWidget(modelLineEdit, 1, 2, 1, 1);
  132. swapButton = new QPushButton(groupBox_5);
  133. swapButton->setObjectName(QString::fromUtf8("swapButton"));
  134. swapButton->setFlat(false);
  135. gridLayout->addWidget(swapButton, 2, 2, 1, 1);
  136. verticalLayout_2->addWidget(groupBox_5);
  137. tabWidget = new QTabWidget(RegistrationDialog);
  138. tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
  139. tabStdParams = new QWidget();
  140. tabStdParams->setObjectName(QString::fromUtf8("tabStdParams"));
  141. verticalLayout_3 = new QVBoxLayout(tabStdParams);
  142. verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
  143. formLayout = new QFormLayout();
  144. formLayout->setObjectName(QString::fromUtf8("formLayout"));
  145. iterationsCriterion = new QRadioButton(tabStdParams);
  146. iterationsCriterion->setObjectName(QString::fromUtf8("iterationsCriterion"));
  147. formLayout->setWidget(0, QFormLayout::LabelRole, iterationsCriterion);
  148. maxIterationCount = new QSpinBox(tabStdParams);
  149. maxIterationCount->setObjectName(QString::fromUtf8("maxIterationCount"));
  150. maxIterationCount->setEnabled(false);
  151. maxIterationCount->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
  152. maxIterationCount->setMinimum(1);
  153. maxIterationCount->setMaximum(999999);
  154. maxIterationCount->setValue(20);
  155. formLayout->setWidget(0, QFormLayout::FieldRole, maxIterationCount);
  156. errorCriterion = new QRadioButton(tabStdParams);
  157. errorCriterion->setObjectName(QString::fromUtf8("errorCriterion"));
  158. errorCriterion->setChecked(true);
  159. formLayout->setWidget(1, QFormLayout::LabelRole, errorCriterion);
  160. rmsDifferenceLineEdit = new QLineEdit(tabStdParams);
  161. rmsDifferenceLineEdit->setObjectName(QString::fromUtf8("rmsDifferenceLineEdit"));
  162. QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed);
  163. sizePolicy1.setHorizontalStretch(0);
  164. sizePolicy1.setVerticalStretch(0);
  165. sizePolicy1.setHeightForWidth(rmsDifferenceLineEdit->sizePolicy().hasHeightForWidth());
  166. rmsDifferenceLineEdit->setSizePolicy(sizePolicy1);
  167. rmsDifferenceLineEdit->setLayoutDirection(Qt::RightToLeft);
  168. rmsDifferenceLineEdit->setText(QString::fromUtf8("1.0e-5"));
  169. rmsDifferenceLineEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
  170. formLayout->setWidget(1, QFormLayout::FieldRole, rmsDifferenceLineEdit);
  171. label_4 = new QLabel(tabStdParams);
  172. label_4->setObjectName(QString::fromUtf8("label_4"));
  173. label_4->setStyleSheet(QString::fromUtf8("color: blue;"));
  174. formLayout->setWidget(2, QFormLayout::LabelRole, label_4);
  175. overlapSpinBox = new QSpinBox(tabStdParams);
  176. overlapSpinBox->setObjectName(QString::fromUtf8("overlapSpinBox"));
  177. overlapSpinBox->setStyleSheet(QString::fromUtf8("color: blue;"));
  178. overlapSpinBox->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
  179. overlapSpinBox->setSuffix(QString::fromUtf8("%"));
  180. overlapSpinBox->setMinimum(1);
  181. overlapSpinBox->setMaximum(100);
  182. overlapSpinBox->setSingleStep(10);
  183. overlapSpinBox->setValue(100);
  184. formLayout->setWidget(2, QFormLayout::FieldRole, overlapSpinBox);
  185. verticalLayout_3->addLayout(formLayout);
  186. verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
  187. verticalLayout_3->addItem(verticalSpacer_2);
  188. adjustScaleCheckBox = new QCheckBox(tabStdParams);
  189. adjustScaleCheckBox->setObjectName(QString::fromUtf8("adjustScaleCheckBox"));
  190. verticalLayout_3->addWidget(adjustScaleCheckBox);
  191. useNormalsFrame = new QFrame(tabStdParams);
  192. useNormalsFrame->setObjectName(QString::fromUtf8("useNormalsFrame"));
  193. useNormalsFrame->setFrameShape(QFrame::StyledPanel);
  194. useNormalsFrame->setFrameShadow(QFrame::Raised);
  195. horizontalLayout = new QHBoxLayout(useNormalsFrame);
  196. horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
  197. horizontalLayout->setContentsMargins(0, 0, 0, 0);
  198. label_5 = new QLabel(useNormalsFrame);
  199. label_5->setObjectName(QString::fromUtf8("label_5"));
  200. horizontalLayout->addWidget(label_5);
  201. normalsComboBox = new QComboBox(useNormalsFrame);
  202. normalsComboBox->addItem(QString());
  203. normalsComboBox->addItem(QString());
  204. normalsComboBox->addItem(QString());
  205. normalsComboBox->addItem(QString());
  206. normalsComboBox->setObjectName(QString::fromUtf8("normalsComboBox"));
  207. horizontalLayout->addWidget(normalsComboBox);
  208. horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
  209. horizontalLayout->addItem(horizontalSpacer_3);
  210. verticalLayout_3->addWidget(useNormalsFrame);
  211. threadingFrame = new QFrame(tabStdParams);
  212. threadingFrame->setObjectName(QString::fromUtf8("threadingFrame"));
  213. horizontalLayout_7 = new QHBoxLayout(threadingFrame);
  214. horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
  215. horizontalLayout_7->setContentsMargins(0, 0, 0, 0);
  216. threadCountFrame = new QFrame(threadingFrame);
  217. threadCountFrame->setObjectName(QString::fromUtf8("threadCountFrame"));
  218. threadCountFrame->setFrameShape(QFrame::StyledPanel);
  219. threadCountFrame->setFrameShadow(QFrame::Raised);
  220. horizontalLayout_8 = new QHBoxLayout(threadCountFrame);
  221. horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
  222. horizontalLayout_8->setContentsMargins(0, 0, 0, 0);
  223. label_6 = new QLabel(threadCountFrame);
  224. label_6->setObjectName(QString::fromUtf8("label_6"));
  225. horizontalLayout_8->addWidget(label_6);
  226. maxThreadCountSpinBox = new QSpinBox(threadCountFrame);
  227. maxThreadCountSpinBox->setObjectName(QString::fromUtf8("maxThreadCountSpinBox"));
  228. maxThreadCountSpinBox->setSuffix(QString::fromUtf8(" / 8"));
  229. horizontalLayout_8->addWidget(maxThreadCountSpinBox);
  230. horizontalLayout_7->addWidget(threadCountFrame);
  231. horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
  232. horizontalLayout_7->addItem(horizontalSpacer_2);
  233. verticalLayout_3->addWidget(threadingFrame);
  234. tabWidget->addTab(tabStdParams, QString());
  235. tabResearchParams = new QWidget();
  236. tabResearchParams->setObjectName(QString::fromUtf8("tabResearchParams"));
  237. verticalLayout = new QVBoxLayout(tabResearchParams);
  238. verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
  239. formLayout_2 = new QFormLayout();
  240. formLayout_2->setObjectName(QString::fromUtf8("formLayout_2"));
  241. label = new QLabel(tabResearchParams);
  242. label->setObjectName(QString::fromUtf8("label"));
  243. formLayout_2->setWidget(0, QFormLayout::LabelRole, label);
  244. randomSamplingLimitSpinBox = new QSpinBox(tabResearchParams);
  245. randomSamplingLimitSpinBox->setObjectName(QString::fromUtf8("randomSamplingLimitSpinBox"));
  246. randomSamplingLimitSpinBox->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
  247. randomSamplingLimitSpinBox->setMaximum(1000000000);
  248. randomSamplingLimitSpinBox->setSingleStep(10000);
  249. randomSamplingLimitSpinBox->setValue(50000);
  250. formLayout_2->setWidget(0, QFormLayout::FieldRole, randomSamplingLimitSpinBox);
  251. label_2 = new QLabel(tabResearchParams);
  252. label_2->setObjectName(QString::fromUtf8("label_2"));
  253. QSizePolicy sizePolicy2(QSizePolicy::Maximum, QSizePolicy::Preferred);
  254. sizePolicy2.setHorizontalStretch(0);
  255. sizePolicy2.setVerticalStretch(0);
  256. sizePolicy2.setHeightForWidth(label_2->sizePolicy().hasHeightForWidth());
  257. label_2->setSizePolicy(sizePolicy2);
  258. label_2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
  259. formLayout_2->setWidget(1, QFormLayout::LabelRole, label_2);
  260. rotComboBox = new QComboBox(tabResearchParams);
  261. rotComboBox->addItem(QString::fromUtf8("XYZ"));
  262. rotComboBox->addItem(QString::fromUtf8("X"));
  263. rotComboBox->addItem(QString::fromUtf8("Y"));
  264. rotComboBox->addItem(QString::fromUtf8("Z"));
  265. rotComboBox->addItem(QString());
  266. rotComboBox->setObjectName(QString::fromUtf8("rotComboBox"));
  267. sizePolicy1.setHeightForWidth(rotComboBox->sizePolicy().hasHeightForWidth());
  268. rotComboBox->setSizePolicy(sizePolicy1);
  269. rotComboBox->setLayoutDirection(Qt::RightToLeft);
  270. formLayout_2->setWidget(1, QFormLayout::FieldRole, rotComboBox);
  271. label_3 = new QLabel(tabResearchParams);
  272. label_3->setObjectName(QString::fromUtf8("label_3"));
  273. sizePolicy2.setHeightForWidth(label_3->sizePolicy().hasHeightForWidth());
  274. label_3->setSizePolicy(sizePolicy2);
  275. formLayout_2->setWidget(2, QFormLayout::LabelRole, label_3);
  276. horizontalLayout_5 = new QHBoxLayout();
  277. horizontalLayout_5->setSpacing(0);
  278. horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
  279. horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
  280. horizontalLayout_5->addItem(horizontalSpacer);
  281. TxCheckBox = new QCheckBox(tabResearchParams);
  282. TxCheckBox->setObjectName(QString::fromUtf8("TxCheckBox"));
  283. QSizePolicy sizePolicy3(QSizePolicy::Maximum, QSizePolicy::Fixed);
  284. sizePolicy3.setHorizontalStretch(0);
  285. sizePolicy3.setVerticalStretch(0);
  286. sizePolicy3.setHeightForWidth(TxCheckBox->sizePolicy().hasHeightForWidth());
  287. TxCheckBox->setSizePolicy(sizePolicy3);
  288. TxCheckBox->setText(QString::fromUtf8("Tx"));
  289. TxCheckBox->setChecked(true);
  290. horizontalLayout_5->addWidget(TxCheckBox);
  291. TyCheckBox = new QCheckBox(tabResearchParams);
  292. TyCheckBox->setObjectName(QString::fromUtf8("TyCheckBox"));
  293. sizePolicy3.setHeightForWidth(TyCheckBox->sizePolicy().hasHeightForWidth());
  294. TyCheckBox->setSizePolicy(sizePolicy3);
  295. TyCheckBox->setText(QString::fromUtf8("Ty"));
  296. TyCheckBox->setChecked(true);
  297. horizontalLayout_5->addWidget(TyCheckBox);
  298. TzCheckBox = new QCheckBox(tabResearchParams);
  299. TzCheckBox->setObjectName(QString::fromUtf8("TzCheckBox"));
  300. sizePolicy3.setHeightForWidth(TzCheckBox->sizePolicy().hasHeightForWidth());
  301. TzCheckBox->setSizePolicy(sizePolicy3);
  302. TzCheckBox->setText(QString::fromUtf8("Tz"));
  303. TzCheckBox->setChecked(true);
  304. horizontalLayout_5->addWidget(TzCheckBox);
  305. formLayout_2->setLayout(2, QFormLayout::FieldRole, horizontalLayout_5);
  306. verticalLayout->addLayout(formLayout_2);
  307. pointsRemoval = new QCheckBox(tabResearchParams);
  308. pointsRemoval->setObjectName(QString::fromUtf8("pointsRemoval"));
  309. verticalLayout->addWidget(pointsRemoval);
  310. checkBoxUseDataSFAsWeights = new QCheckBox(tabResearchParams);
  311. checkBoxUseDataSFAsWeights->setObjectName(QString::fromUtf8("checkBoxUseDataSFAsWeights"));
  312. verticalLayout->addWidget(checkBoxUseDataSFAsWeights);
  313. checkBoxUseModelSFAsWeights = new QCheckBox(tabResearchParams);
  314. checkBoxUseModelSFAsWeights->setObjectName(QString::fromUtf8("checkBoxUseModelSFAsWeights"));
  315. verticalLayout->addWidget(checkBoxUseModelSFAsWeights);
  316. c2mDistancesFrame = new QFrame(tabResearchParams);
  317. c2mDistancesFrame->setObjectName(QString::fromUtf8("c2mDistancesFrame"));
  318. c2mDistancesFrame->setFrameShape(QFrame::StyledPanel);
  319. c2mDistancesFrame->setFrameShadow(QFrame::Raised);
  320. horizontalLayout_2 = new QHBoxLayout(c2mDistancesFrame);
  321. horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
  322. horizontalLayout_2->setContentsMargins(0, 0, 0, 0);
  323. useC2MSignedDistancesCheckBox = new QCheckBox(c2mDistancesFrame);
  324. useC2MSignedDistancesCheckBox->setObjectName(QString::fromUtf8("useC2MSignedDistancesCheckBox"));
  325. horizontalLayout_2->addWidget(useC2MSignedDistancesCheckBox);
  326. robustC2MDistsCheckBox = new QCheckBox(c2mDistancesFrame);
  327. robustC2MDistsCheckBox->setObjectName(QString::fromUtf8("robustC2MDistsCheckBox"));
  328. robustC2MDistsCheckBox->setEnabled(false);
  329. robustC2MDistsCheckBox->setChecked(true);
  330. horizontalLayout_2->addWidget(robustC2MDistsCheckBox);
  331. verticalLayout->addWidget(c2mDistancesFrame);
  332. verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
  333. verticalLayout->addItem(verticalSpacer_3);
  334. tabWidget->addTab(tabResearchParams, QString());
  335. verticalLayout_2->addWidget(tabWidget);
  336. frame = new QFrame(RegistrationDialog);
  337. frame->setObjectName(QString::fromUtf8("frame"));
  338. frame->setFrameShape(QFrame::NoFrame);
  339. frame->setFrameShadow(QFrame::Raised);
  340. verticalLayout_4 = new QVBoxLayout(frame);
  341. verticalLayout_4->setSpacing(6);
  342. verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
  343. verticalLayout_4->setContentsMargins(0, 0, 0, 0);
  344. verticalLayout_2->addWidget(frame);
  345. verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
  346. verticalLayout_2->addItem(verticalSpacer);
  347. buttonBox = new QDialogButtonBox(RegistrationDialog);
  348. buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
  349. buttonBox->setOrientation(Qt::Horizontal);
  350. buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
  351. verticalLayout_2->addWidget(buttonBox);
  352. QWidget::setTabOrder(dataLineEdit, modelLineEdit);
  353. QWidget::setTabOrder(modelLineEdit, swapButton);
  354. QWidget::setTabOrder(swapButton, buttonBox);
  355. QWidget::setTabOrder(buttonBox, dataColorButton);
  356. QWidget::setTabOrder(dataColorButton, modelColorButton);
  357. retranslateUi(RegistrationDialog);
  358. QObject::connect(buttonBox, SIGNAL(accepted()), RegistrationDialog, SLOT(accept()));
  359. QObject::connect(buttonBox, SIGNAL(rejected()), RegistrationDialog, SLOT(reject()));
  360. QObject::connect(iterationsCriterion, SIGNAL(toggled(bool)), maxIterationCount, SLOT(setEnabled(bool)));
  361. QObject::connect(errorCriterion, SIGNAL(toggled(bool)), rmsDifferenceLineEdit, SLOT(setEnabled(bool)));
  362. QObject::connect(useC2MSignedDistancesCheckBox, SIGNAL(toggled(bool)), robustC2MDistsCheckBox, SLOT(setEnabled(bool)));
  363. tabWidget->setCurrentIndex(0);
  364. QMetaObject::connectSlotsByName(RegistrationDialog);
  365. } // setupUi
  366. void retranslateUi(QDialog *RegistrationDialog)
  367. {
  368. RegistrationDialog->setWindowTitle(QCoreApplication::translate("RegistrationDialog", "Clouds registration", nullptr));
  369. groupBox_5->setTitle(QCoreApplication::translate("RegistrationDialog", "Role assignation", nullptr));
  370. #if QT_CONFIG(tooltip)
  371. label_10->setToolTip(QCoreApplication::translate("RegistrationDialog", "'data' entity", nullptr));
  372. #endif // QT_CONFIG(tooltip)
  373. label_10->setText(QCoreApplication::translate("RegistrationDialog", "to be aligned", nullptr));
  374. #if QT_CONFIG(tooltip)
  375. dataLineEdit->setToolTip(QCoreApplication::translate("RegistrationDialog", "<html><head/><body><p>entity to align (will be displaced)</p></body></html>", nullptr));
  376. #endif // QT_CONFIG(tooltip)
  377. #if QT_CONFIG(statustip)
  378. dataLineEdit->setStatusTip(QCoreApplication::translate("RegistrationDialog", "Entity to align (will be displaced)", nullptr));
  379. #endif // QT_CONFIG(statustip)
  380. #if QT_CONFIG(tooltip)
  381. label_9->setToolTip(QCoreApplication::translate("RegistrationDialog", "'model' entity", nullptr));
  382. #endif // QT_CONFIG(tooltip)
  383. label_9->setText(QCoreApplication::translate("RegistrationDialog", "reference", nullptr));
  384. #if QT_CONFIG(tooltip)
  385. modelLineEdit->setToolTip(QCoreApplication::translate("RegistrationDialog", "<html><head/><body><p>reference entity (won't move)</p></body></html>", nullptr));
  386. #endif // QT_CONFIG(tooltip)
  387. #if QT_CONFIG(statustip)
  388. modelLineEdit->setStatusTip(QCoreApplication::translate("RegistrationDialog", "Reference entity (won't move)", nullptr));
  389. #endif // QT_CONFIG(statustip)
  390. #if QT_CONFIG(tooltip)
  391. swapButton->setToolTip(QCoreApplication::translate("RegistrationDialog", "press once to exchange model and data clouds", nullptr));
  392. #endif // QT_CONFIG(tooltip)
  393. #if QT_CONFIG(statustip)
  394. swapButton->setStatusTip(QCoreApplication::translate("RegistrationDialog", "press once to exchange model and data clouds", nullptr));
  395. #endif // QT_CONFIG(statustip)
  396. swapButton->setText(QCoreApplication::translate("RegistrationDialog", "swap", nullptr));
  397. #if QT_CONFIG(tooltip)
  398. iterationsCriterion->setToolTip(QCoreApplication::translate("RegistrationDialog", "By choosing this criterion, you can control the computation time.", nullptr));
  399. #endif // QT_CONFIG(tooltip)
  400. #if QT_CONFIG(statustip)
  401. iterationsCriterion->setStatusTip(QCoreApplication::translate("RegistrationDialog", "By choosing this criterion, you can control the computation time.", nullptr));
  402. #endif // QT_CONFIG(statustip)
  403. iterationsCriterion->setText(QCoreApplication::translate("RegistrationDialog", "Number of iterations", nullptr));
  404. #if QT_CONFIG(tooltip)
  405. maxIterationCount->setToolTip(QCoreApplication::translate("RegistrationDialog", "Set the maximal number of step for the algorithm regsitration computation .", nullptr));
  406. #endif // QT_CONFIG(tooltip)
  407. #if QT_CONFIG(tooltip)
  408. errorCriterion->setToolTip(QCoreApplication::translate("RegistrationDialog", "By choosing this criterion, you can control the quality of the result.", nullptr));
  409. #endif // QT_CONFIG(tooltip)
  410. errorCriterion->setText(QCoreApplication::translate("RegistrationDialog", "RMS difference", nullptr));
  411. #if QT_CONFIG(tooltip)
  412. rmsDifferenceLineEdit->setToolTip(QCoreApplication::translate("RegistrationDialog", "Set the minimum RMS improvement between 2 consecutive iterations (below which the registration process will stop).", nullptr));
  413. #endif // QT_CONFIG(tooltip)
  414. #if QT_CONFIG(tooltip)
  415. label_4->setToolTip(QCoreApplication::translate("RegistrationDialog", "Rough estimation of the final overlap ratio of the data cloud (the smaller, the better the initial registration should be!)", nullptr));
  416. #endif // QT_CONFIG(tooltip)
  417. label_4->setText(QCoreApplication::translate("RegistrationDialog", "Final overlap", nullptr));
  418. #if QT_CONFIG(tooltip)
  419. overlapSpinBox->setToolTip(QCoreApplication::translate("RegistrationDialog", "Rough estimation of the final overlap ratio of the data cloud (the smaller, the better the initial registration should be!)", nullptr));
  420. #endif // QT_CONFIG(tooltip)
  421. #if QT_CONFIG(statustip)
  422. adjustScaleCheckBox->setStatusTip(QCoreApplication::translate("RegistrationDialog", "Whether to adjust the scale of the 'data' entity", nullptr));
  423. #endif // QT_CONFIG(statustip)
  424. adjustScaleCheckBox->setText(QCoreApplication::translate("RegistrationDialog", "adjust scale", nullptr));
  425. label_5->setText(QCoreApplication::translate("RegistrationDialog", "Normals", nullptr));
  426. normalsComboBox->setItemText(0, QCoreApplication::translate("RegistrationDialog", "Ignored", nullptr));
  427. normalsComboBox->setItemText(1, QCoreApplication::translate("RegistrationDialog", "Opposite side", nullptr));
  428. normalsComboBox->setItemText(2, QCoreApplication::translate("RegistrationDialog", "Same side", nullptr));
  429. normalsComboBox->setItemText(3, QCoreApplication::translate("RegistrationDialog", "Double-sided", nullptr));
  430. #if QT_CONFIG(tooltip)
  431. normalsComboBox->setToolTip(QCoreApplication::translate("RegistrationDialog", "options to take normals into account, to improve the registration result", nullptr));
  432. #endif // QT_CONFIG(tooltip)
  433. label_6->setText(QCoreApplication::translate("RegistrationDialog", "max thread count", nullptr));
  434. #if QT_CONFIG(tooltip)
  435. maxThreadCountSpinBox->setToolTip(QCoreApplication::translate("RegistrationDialog", "Maximum number of threads/cores to be used\n"
  436. "(CC or your computer might not respond for a while if you use all available cores)", nullptr));
  437. #endif // QT_CONFIG(tooltip)
  438. tabWidget->setTabText(tabWidget->indexOf(tabStdParams), QCoreApplication::translate("RegistrationDialog", "Parameters", nullptr));
  439. label->setText(QCoreApplication::translate("RegistrationDialog", "Random sampling limit", nullptr));
  440. #if QT_CONFIG(tooltip)
  441. randomSamplingLimitSpinBox->setToolTip(QCoreApplication::translate("RegistrationDialog", "Above this limit, clouds are randomly resampled at each iteration", nullptr));
  442. #endif // QT_CONFIG(tooltip)
  443. label_2->setText(QCoreApplication::translate("RegistrationDialog", "Rotation", nullptr));
  444. rotComboBox->setItemText(4, QCoreApplication::translate("RegistrationDialog", "NONE", nullptr));
  445. label_3->setText(QCoreApplication::translate("RegistrationDialog", "Translation", nullptr));
  446. #if QT_CONFIG(tooltip)
  447. pointsRemoval->setToolTip(QCoreApplication::translate("RegistrationDialog", "Chose this option to remove points that are likely to disturb the registration during the computation.", nullptr));
  448. #endif // QT_CONFIG(tooltip)
  449. #if QT_CONFIG(statustip)
  450. pointsRemoval->setStatusTip(QCoreApplication::translate("RegistrationDialog", "Chose this option to remove points that are likely to disturb the registration during the computation.", nullptr));
  451. #endif // QT_CONFIG(statustip)
  452. pointsRemoval->setText(QCoreApplication::translate("RegistrationDialog", "Enable farthest points removal", nullptr));
  453. #if QT_CONFIG(tooltip)
  454. checkBoxUseDataSFAsWeights->setToolTip(QCoreApplication::translate("RegistrationDialog", "<html><head/><body><p>Use the displayed scalar field as weights (the bigger its associated scalar value/weight is, the more influence the point will have).</p><p>Note that only absolute distances are considered (i.e. minimal weight is 0).</p><p>Weights are automatically normalized.</p></body></html>", nullptr));
  455. #endif // QT_CONFIG(tooltip)
  456. checkBoxUseDataSFAsWeights->setText(QCoreApplication::translate("RegistrationDialog", "Data: use displayed S.F. (absolute values) as weights", nullptr));
  457. #if QT_CONFIG(tooltip)
  458. checkBoxUseModelSFAsWeights->setToolTip(QCoreApplication::translate("RegistrationDialog", "<html><head/><body><p>Use the displayed scalar field as weights (the bigger its associated scalar value/weight is, the more influence the point will have).</p><p>Note that only absolute distances are considered (i.e. minimal weight is 0).</p><p>Weights are automatically normalized.</p></body></html>", nullptr));
  459. #endif // QT_CONFIG(tooltip)
  460. checkBoxUseModelSFAsWeights->setText(QCoreApplication::translate("RegistrationDialog", "Model: use displayed S.F. (absolute values) as weights", nullptr));
  461. #if QT_CONFIG(tooltip)
  462. useC2MSignedDistancesCheckBox->setToolTip(QCoreApplication::translate("RegistrationDialog", "In combination with a small overlap, prevents\n"
  463. "the cloud from sinking under the mesh surface.", nullptr));
  464. #endif // QT_CONFIG(tooltip)
  465. useC2MSignedDistancesCheckBox->setText(QCoreApplication::translate("RegistrationDialog", "Use C2M signed distances (mesh as reference only)", nullptr));
  466. robustC2MDistsCheckBox->setText(QCoreApplication::translate("RegistrationDialog", "robust", nullptr));
  467. tabWidget->setTabText(tabWidget->indexOf(tabResearchParams), QCoreApplication::translate("RegistrationDialog", "Research", nullptr));
  468. } // retranslateUi
  469. };
  470. namespace Ui {
  471. class RegistrationDialog: public Ui_RegistrationDialog {};
  472. } // namespace Ui
  473. QT_END_NAMESPACE
  474. #endif // UI_REGISTRATIONDLG_H