DatabaseViewer: fixed switched words after adding new loop closures

This commit is contained in:
matlabbe
2015-04-25 18:13:31 -04:00
parent 68187f172e
commit 3e20d1ca7c
2 changed files with 44 additions and 60 deletions
+35 -51
View File
@@ -1899,51 +1899,35 @@ void DatabaseViewer::updateConstraintView(
if(updateImageSliders) if(updateImageSliders)
{ {
bool updateA = false;
bool updateB = false;
ui_->horizontalSlider_A->blockSignals(true); ui_->horizontalSlider_A->blockSignals(true);
ui_->horizontalSlider_B->blockSignals(true); ui_->horizontalSlider_B->blockSignals(true);
// set from on left and to on right // set from on left and to on right {
if(ui_->horizontalSlider_A->value() != idToIndex_.value(link.from())) ui_->horizontalSlider_A->setValue(idToIndex_.value(link.from()));
{ ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
ui_->horizontalSlider_A->setValue(idToIndex_.value(link.from()));
updateA=true;
}
if(ui_->horizontalSlider_B->value() != idToIndex_.value(link.to()))
{
ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
updateB=true;
}
ui_->horizontalSlider_A->blockSignals(false); ui_->horizontalSlider_A->blockSignals(false);
ui_->horizontalSlider_B->blockSignals(false); ui_->horizontalSlider_B->blockSignals(false);
if(updateA) this->update(idToIndex_.value(link.from()),
{ ui_->label_indexA,
this->update(idToIndex_.value(link.from()), ui_->label_parentsA,
ui_->label_indexA, ui_->label_childrenA,
ui_->label_parentsA, ui_->label_weightA,
ui_->label_childrenA, ui_->label_labelA,
ui_->label_weightA, ui_->label_stampA,
ui_->label_labelA, ui_->graphicsView_A,
ui_->label_stampA, ui_->widget_cloudA,
ui_->graphicsView_A, ui_->label_idA,
ui_->widget_cloudA, false); // don't update constraints view!
ui_->label_idA, this->update(idToIndex_.value(link.to()),
false); // don't update constraints view! ui_->label_indexB,
} ui_->label_parentsB,
if(updateB) ui_->label_childrenB,
{ ui_->label_weightB,
this->update(idToIndex_.value(link.to()), ui_->label_labelB,
ui_->label_indexB, ui_->label_stampB,
ui_->label_parentsB, ui_->graphicsView_B,
ui_->label_childrenB, ui_->widget_cloudB,
ui_->label_weightB, ui_->label_idB,
ui_->label_labelB, false); // don't update constraints view!
ui_->label_stampB,
ui_->graphicsView_B,
ui_->widget_cloudB,
ui_->label_idB,
false); // don't update constraints view!
}
} }
if(ui_->constraintsViewer->isVisible()) if(ui_->constraintsViewer->isVisible())
@@ -2786,13 +2770,6 @@ void DatabaseViewer::addConstraint()
bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGraph) bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGraph)
{ {
if(from < to)
{
int tmp = to;
to = from;
from = tmp;
}
if(from == to) if(from == to)
{ {
UWARN("Cannot add link to same node"); UWARN("Cannot add link to same node");
@@ -2846,8 +2823,8 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
if(!silent) if(!silent)
{ {
ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(to)->getWords()); ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(from)->getWords());
ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(from)->getWords()); ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(to)->getWords());
updateWordsMatching(); updateWordsMatching();
} }
} }
@@ -2882,7 +2859,14 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
} }
// transform is valid, make a link // transform is valid, make a link
linksAdded_.insert(std::make_pair(from, Link(from, to, Link::kUserClosure, t, variance, variance))); if(from>to)
{
linksAdded_.insert(std::make_pair(from, Link(from, to, Link::kUserClosure, t, variance, variance)));
}
else
{
linksAdded_.insert(std::make_pair(to, Link(to, from, Link::kUserClosure, t.inverse(), variance, variance)));
}
updateSlider = true; updateSlider = true;
} }
} }
+9 -9
View File
@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1182</width> <width>1183</width>
<height>821</height> <height>834</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -41,8 +41,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>153</width> <width>154</width>
<height>127</height> <height>136</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1"> <layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
@@ -197,7 +197,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>152</width> <width>152</width>
<height>127</height> <height>136</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1"> <layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
@@ -339,8 +339,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1182</width> <width>1183</width>
<height>25</height> <height>22</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuFile"> <widget class="QMenu" name="menuFile">
@@ -955,7 +955,7 @@
<double>0.100000000000000</double> <double>0.100000000000000</double>
</property> </property>
<property name="value"> <property name="value">
<double>0.900000000000000</double> <double>0.600000000000000</double>
</property> </property>
</widget> </widget>
</item> </item>
@@ -1014,7 +1014,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QComboBox" name="comboBox_featureType"> <widget class="QComboBox" name="comboBox_featureType">
<property name="currentIndex"> <property name="currentIndex">
<number>4</number> <number>0</number>
</property> </property>
<item> <item>
<property name="text"> <property name="text">