mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
Flann incremental: remove points before adding new ones
This commit is contained in:
@@ -583,6 +583,12 @@ void VWDictionary::update()
|
||||
_strategy < kNNBruteForce &&
|
||||
_visualWords.size())
|
||||
{
|
||||
for(std::set<int>::iterator iter=_removedIndexedWords.begin(); iter!=_removedIndexedWords.end(); ++iter)
|
||||
{
|
||||
UASSERT(uContains(_mapIdIndex, *iter));
|
||||
_flannIndex->removePoint(_mapIdIndex.at(*iter));
|
||||
}
|
||||
|
||||
if(_notIndexedWords.size())
|
||||
{
|
||||
for(std::set<int>::iterator iter=_notIndexedWords.begin(); iter!=_notIndexedWords.end(); ++iter)
|
||||
@@ -625,11 +631,6 @@ void VWDictionary::update()
|
||||
}
|
||||
}
|
||||
}
|
||||
for(std::set<int>::iterator iter=_removedIndexedWords.begin(); iter!=_removedIndexedWords.end(); ++iter)
|
||||
{
|
||||
UASSERT(uContains(_mapIdIndex, *iter));
|
||||
_flannIndex->removePoint(_mapIdIndex.at(*iter));
|
||||
}
|
||||
}
|
||||
else if(_strategy >= kNNBruteForce &&
|
||||
_notIndexedWords.size() &&
|
||||
|
||||
Reference in New Issue
Block a user