diff --git a/guilib/src/DatabaseViewer.cpp b/guilib/src/DatabaseViewer.cpp index fb05ea5e..f5024635 100644 --- a/guilib/src/DatabaseViewer.cpp +++ b/guilib/src/DatabaseViewer.cpp @@ -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; } } diff --git a/guilib/src/ui/DatabaseViewer.ui b/guilib/src/ui/DatabaseViewer.ui index 2e82d379..d23e7d78 100644 --- a/guilib/src/ui/DatabaseViewer.ui +++ b/guilib/src/ui/DatabaseViewer.ui @@ -6,8 +6,8 @@ 0 0 - 1182 - 821 + 1183 + 834 @@ -41,8 +41,8 @@ 0 0 - 153 - 127 + 154 + 136 @@ -197,7 +197,7 @@ 0 0 152 - 127 + 136 @@ -339,8 +339,8 @@ 0 0 - 1182 - 25 + 1183 + 22 @@ -955,7 +955,7 @@ 0.100000000000000 - 0.900000000000000 + 0.600000000000000 @@ -1014,7 +1014,7 @@ - 4 + 0