Skip to content

Commit 7fa5592

Browse files
committed
DbViewer: disable "Add" button if one of the current images selected is not in the graph
1 parent 8895173 commit 7fa5592

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

guilib/src/DatabaseViewer.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3672,7 +3672,7 @@ void DatabaseViewer::updateConstraintButtons()
36723672

36733673
int from = ids_.at(ui_->horizontalSlider_A->value());
36743674
int to = ids_.at(ui_->horizontalSlider_B->value());
3675-
if(from!=to && from && to)
3675+
if(from!=to && from && to && poses_.find(from) != poses_.end() && poses_.find(to) != poses_.end())
36763676
{
36773677
if((!containsLink(links_, from ,to) && !containsLink(linksAdded_, from ,to)) ||
36783678
containsLink(linksRemoved_, from ,to))
@@ -4348,10 +4348,13 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
43484348
Optimizer * optimizer = Optimizer::create(ui_->parameters_toolbox->getParameters());
43494349
std::map<int, Transform> poses;
43504350
std::multimap<int, Link> links;
4351+
UASSERT(poses_.find(fromId) != poses_.end());
4352+
UASSERT_MSG(poses_.find(newLink.from()) != poses_.end(), uFormat("id=%d poses=%d links=%d", newLink.from(), (int)poses.size(), (int)links.size()).c_str());
4353+
UASSERT_MSG(poses_.find(newLink.to()) != poses_.end(), uFormat("id=%d poses=%d links=%d", newLink.to(), (int)poses.size(), (int)links.size()).c_str());
43514354
optimizer->getConnectedGraph(fromId, poses_, linksIn, poses, links);
43524355
UASSERT(poses.find(fromId) != poses.end());
4353-
UASSERT(poses.find(newLink.from()) != poses.end());
4354-
UASSERT(poses.find(newLink.to()) != poses.end());
4356+
UASSERT_MSG(poses.find(newLink.from()) != poses.end(), uFormat("id=%d poses=%d links=%d", newLink.from(), (int)poses.size(), (int)links.size()).c_str());
4357+
UASSERT_MSG(poses.find(newLink.to()) != poses.end(), uFormat("id=%d poses=%d links=%d", newLink.to(), (int)poses.size(), (int)links.size()).c_str());
43554358
UASSERT(graph::findLink(links, newLink.from(), newLink.to()) != links.end());
43564359
poses = optimizer->optimize(fromId, poses, links);
43574360
std::string msg;

0 commit comments

Comments
 (0)