34 QLabel *label =
new QLabel(
"Select cube(s) from the list:");
35 p_listBox =
new QListWidget;
36 p_listBox->setSelectionMode(QAbstractItemView::ExtendedSelection);
41 QGridLayout *gridLayout =
new QGridLayout;
42 gridLayout->addWidget(label, 0, 0);
43 gridLayout->addWidget(p_listBox, 1, 0);
44 this->setLayout(gridLayout);
60 if (controlNet() == NULL) {
61 QMessageBox::information((
QWidget *)parent(),
62 "Error",
"No points to filter");
66 if (serialNumberList() == NULL) {
67 QMessageBox::information((
QWidget *)parent(),
68 "Error",
"No cubes to filter");
73 int index = p_listBox->currentRow();
75 QApplication::restoreOverrideCursor();
76 QMessageBox::information((
QWidget *)parent(),
77 "Error",
"No file selected to filter");
81 QList<QListWidgetItem *> selected = p_listBox->selectedItems();
83 for (
int i = 0; i < selected.size(); i++) {
84 int index = p_listBox->row(selected[i]);
85 QString selectedCubeSerNum = serialNumberList()->
serialNumber(index);
92 for (
int i = filteredPoints().size() - 1; i >= 0; i--) {
93 ControlPoint &cp = *(*controlNet())[filteredPoints()[i]];
94 int numMeasNotMatching = 0;
95 for (
int j = 0; j < cp.GetNumMeasures(); j++) {
98 if (cp[j]->GetCubeSerialNumber() == selectedCubeSerNum) {
103 numMeasNotMatching++;
107 if (cp.GetNumMeasures() == numMeasNotMatching) {
108 filteredPoints().removeAt(i);
113 emit filteredListModified();