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

View File

@@ -1899,51 +1899,35 @@ void DatabaseViewer::updateConstraintView(
if(updateImageSliders)
{
bool updateA = false;
bool updateB = false;
ui_->horizontalSlider_A->blockSignals(true);
ui_->horizontalSlider_B->blockSignals(true);
// 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()));
updateA=true;
}
if(ui_->horizontalSlider_B->value() != idToIndex_.value(link.to()))
{
ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
updateB=true;
}
// set from on left and to on right {
ui_->horizontalSlider_A->setValue(idToIndex_.value(link.from()));
ui_->horizontalSlider_B->setValue(idToIndex_.value(link.to()));
ui_->horizontalSlider_A->blockSignals(false);
ui_->horizontalSlider_B->blockSignals(false);
if(updateA)
{
this->update(idToIndex_.value(link.from()),
ui_->label_indexA,
ui_->label_parentsA,
ui_->label_childrenA,
ui_->label_weightA,
ui_->label_labelA,
ui_->label_stampA,
ui_->graphicsView_A,
ui_->widget_cloudA,
ui_->label_idA,
false); // don't update constraints view!
}
if(updateB)
{
this->update(idToIndex_.value(link.to()),
ui_->label_indexB,
ui_->label_parentsB,
ui_->label_childrenB,
ui_->label_weightB,
ui_->label_labelB,
ui_->label_stampB,
ui_->graphicsView_B,
ui_->widget_cloudB,
ui_->label_idB,
false); // don't update constraints view!
}
this->update(idToIndex_.value(link.from()),
ui_->label_indexA,
ui_->label_parentsA,
ui_->label_childrenA,
ui_->label_weightA,
ui_->label_labelA,
ui_->label_stampA,
ui_->graphicsView_A,
ui_->widget_cloudA,
ui_->label_idA,
false); // don't update constraints view!
this->update(idToIndex_.value(link.to()),
ui_->label_indexB,
ui_->label_parentsB,
ui_->label_childrenB,
ui_->label_weightB,
ui_->label_labelB,
ui_->label_stampB,
ui_->graphicsView_B,
ui_->widget_cloudB,
ui_->label_idB,
false); // don't update constraints view!
}
if(ui_->constraintsViewer->isVisible())
@@ -2786,13 +2770,6 @@ void DatabaseViewer::addConstraint()
bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGraph)
{
if(from < to)
{
int tmp = to;
to = from;
from = tmp;
}
if(from == to)
{
UWARN("Cannot add link to same node");
@@ -2846,8 +2823,8 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
if(!silent)
{
ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(to)->getWords());
ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(from)->getWords());
ui_->graphicsView_A->setFeatures(tmpMemory.getSignature(from)->getWords());
ui_->graphicsView_B->setFeatures(tmpMemory.getSignature(to)->getWords());
updateWordsMatching();
}
}
@@ -2882,7 +2859,14 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
}
// 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;
}
}

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1182</width>
<height>821</height>
<width>1183</width>
<height>834</height>
</rect>
</property>
<property name="windowTitle">
@@ -41,8 +41,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>153</width>
<height>127</height>
<width>154</width>
<height>136</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
@@ -197,7 +197,7 @@
<x>0</x>
<y>0</y>
<width>152</width>
<height>127</height>
<height>136</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
@@ -339,8 +339,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1182</width>
<height>25</height>
<width>1183</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
@@ -955,7 +955,7 @@
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.900000000000000</double>
<double>0.600000000000000</double>
</property>
</widget>
</item>
@@ -1014,7 +1014,7 @@
<item row="0" column="0">
<widget class="QComboBox" name="comboBox_featureType">
<property name="currentIndex">
<number>4</number>
<number>0</number>
</property>
<item>
<property name="text">