mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
DBViewer: fixed Refine links menu not showing up if there are landmark links
This commit is contained in:
@@ -4440,15 +4440,18 @@ void DatabaseViewer::refineLinks()
|
||||
std::multimap<int, Link> allLinks = updateLinksWithModifications(links_);
|
||||
for(std::multimap<int, Link>::iterator iter=allLinks.begin(); iter!=allLinks.end(); ++iter)
|
||||
{
|
||||
int minId = iter->second.from()>iter->second.to()?iter->second.to():iter->second.from();
|
||||
int maxId = iter->second.from()<iter->second.to()?iter->second.to():iter->second.from();
|
||||
if(minNodeId == 0 || minNodeId > minId)
|
||||
if(iter->second.type() < Link::kPosePrior)
|
||||
{
|
||||
minNodeId = minId;
|
||||
}
|
||||
if(maxNodeId == 0 || maxNodeId < maxId)
|
||||
{
|
||||
maxNodeId = maxId;
|
||||
int minId = iter->second.from()>iter->second.to()?iter->second.to():iter->second.from();
|
||||
int maxId = iter->second.from()<iter->second.to()?iter->second.to():iter->second.from();
|
||||
if(minNodeId == 0 || minNodeId > minId)
|
||||
{
|
||||
minNodeId = minId;
|
||||
}
|
||||
if(maxNodeId == 0 || maxNodeId < maxId)
|
||||
{
|
||||
maxNodeId = maxId;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(minNodeId > 0)
|
||||
@@ -4472,7 +4475,8 @@ void DatabaseViewer::refineLinks()
|
||||
linkRefiningDialog_->getIntraInterSessions(intra, inter);
|
||||
for(std::multimap<int, Link>::iterator iter=allLinks.begin(); iter!=allLinks.end(); ++iter)
|
||||
{
|
||||
if(type==Link::kEnd || type == iter->second.type())
|
||||
if(iter->second.type() < Link::kPosePrior &&
|
||||
(type==Link::kEnd || type == iter->second.type()))
|
||||
{
|
||||
int from = iter->second.from();
|
||||
int to = iter->second.to();
|
||||
@@ -4502,6 +4506,10 @@ void DatabaseViewer::refineLinks()
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
UWARN("No links can be refined!");
|
||||
}
|
||||
}
|
||||
void DatabaseViewer::refineLinks(const QList<Link> & links)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user