14 connect(modelTypeCombo,
15 static_cast<void (QComboBox::*)(
int)
>(
16 &QComboBox::currentIndexChanged),
23 switch (modelTypeCombo->currentIndex()) {
30 normalDisWeightLabel->setEnabled(
true);
31 normalDisWeightSpinBox->setEnabled(
true);
34 normalDisWeightLabel->setEnabled(
false);
35 normalDisWeightSpinBox->setEnabled(
false);
39 void SACSegmentationDlg::updateModelTypeComboBox(
const QStringList&
fields) {
40 modelTypeCombo->clear();
41 for (
int i = 0; i <
fields.size(); i++) {
42 modelTypeCombo->addItem(
fields[i], i);
43 modelTypeCombo->setItemText(i,
fields[i]);
47 void SACSegmentationDlg::updateMethodTypeComboBox(
const QStringList&
fields) {
48 methodTypeCombo->clear();
49 for (
int i = 0; i <
fields.size(); i++) {
50 methodTypeCombo->addItem(
fields[i], i);
51 methodTypeCombo->setItemText(i,
fields[i]);
55 void SACSegmentationDlg::initParameters() {
56 QStringList methodFields;
57 QStringList modelFields;
58 if (modelFields.isEmpty()) {
59 modelFields << tr(
"SACMODEL_PLANE") << tr(
"SACMODEL_LINE")
60 << tr(
"SACMODEL_CIRCLE2D") << tr(
"SACMODEL_CIRCLE3D")
61 << tr(
"SACMODEL_SPHERE") << tr(
"SACMODEL_CYLINDER")
62 << tr(
"SACMODEL_CONE") << tr(
"SACMODEL_TORUS")
63 << tr(
"SACMODEL_PARALLEL_LINE")
64 << tr(
"SACMODEL_PERPENDICULAR_PLANE")
65 << tr(
"SACMODEL_PARALLEL_LINES")
66 << tr(
"SACMODEL_NORMAL_PLANE")
67 << tr(
"SACMODEL_NORMAL_SPHERE")
68 << tr(
"SACMODEL_REGISTRATION")
69 << tr(
"SACMODEL_REGISTRATION_2D")
70 << tr(
"SACMODEL_PARALLEL_PLANE")
71 << tr(
"SACMODEL_NORMAL_PARALLEL_PLANE")
72 << tr(
"SACMODEL_STICK");
74 if (methodFields.isEmpty()) {
75 methodFields << tr(
"SAC_RANSAC") << tr(
"SAC_LMEDS") << tr(
"SAC_MSAC")
76 << tr(
"SAC_RRANSAC") << tr(
"SAC_RMSAC") << tr(
"SAC_MLESAC")
81 updateModelTypeComboBox(modelFields);
82 updateMethodTypeComboBox(methodFields);
std::vector< PCLPointField > fields
SACSegmentationDlg(QWidget *parent=0)
void modelsChanged(int currentIndex=0)