@@ -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