Fixed gravity links not added for optimization when both prior and gravity links are added to same nodes

This commit is contained in:
matlabbe
2020-04-26 23:45:32 -04:00
parent 1a3c90e898
commit be57c2752d

View File

@@ -5476,8 +5476,9 @@ void Memory::getMetricConstraints(
std::multimap<int, Link> tmpLinks = getLinks(*iter, lookInDatabase, true);
for(std::multimap<int, Link>::iterator jter=tmpLinks.begin(); jter!=tmpLinks.end(); ++jter)
{
std::multimap<int, Link>::iterator addedLinksIterator = graph::findLink(links, *iter, jter->first);
if( jter->second.isValid() &&
graph::findLink(links, *iter, jter->first) == links.end() &&
(addedLinksIterator == links.end() || addedLinksIterator->second.from()==addedLinksIterator->second.to()) &&
(uContains(poses, jter->first) || (landmarksAdded && jter->second.type() == Link::kLandmark)))
{
if(!lookInDatabase &&