DbViewer: fixed features not added in right image when adding loop closure

This commit is contained in:
matlabbe
2017-01-28 15:49:29 -05:00
parent e3d9ad005e
commit e3b3a08f5f
+12 -2
View File
@@ -4250,6 +4250,7 @@ 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)
{ {
bool switchedIds = false;
if(from == to) if(from == to)
{ {
UWARN("Cannot add link to same node"); UWARN("Cannot add link to same node");
@@ -4257,6 +4258,7 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
} }
else if(from < to) else if(from < to)
{ {
switchedIds = true;
int tmp = from; int tmp = from;
from = to; from = to;
to = tmp; to = tmp;
@@ -4293,8 +4295,16 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
if(!silent) if(!silent)
{ {
ui_->graphicsView_A->setFeatures(fromS.getWords(), dataFrom.depthRaw()); if(switchedIds)
ui_->graphicsView_B->setFeatures(toS.getWords(), dataTo.depthRaw()); {
ui_->graphicsView_A->setFeatures(toS.getWords(), dataTo.depthRaw());
ui_->graphicsView_B->setFeatures(fromS.getWords(), dataFrom.depthRaw());
}
else
{
ui_->graphicsView_A->setFeatures(fromS.getWords(), dataFrom.depthRaw());
ui_->graphicsView_B->setFeatures(toS.getWords(), dataTo.depthRaw());
}
updateWordsMatching(); updateWordsMatching();
} }