mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 01:50:24 +08:00
@@ -3176,7 +3176,7 @@ void Memory::removeLink(int oldId, int newId)
|
||||
}
|
||||
}
|
||||
|
||||
void Memory::removeRawData(int id, bool image, bool scan, bool userData)
|
||||
void Memory::removeRawData(int id, bool image, bool scan, bool userData, bool occupancyGrid)
|
||||
{
|
||||
UDEBUG("id=%d image=%d scan=%d userData=%d", id, image?1:0, scan?1:0, userData?1:0);
|
||||
Signature * s = this->_getSignature(id);
|
||||
@@ -3185,7 +3185,8 @@ void Memory::removeRawData(int id, bool image, bool scan, bool userData)
|
||||
s->sensorData().clearRawData(
|
||||
image && (!_reextractLoopClosureFeatures || !_registrationPipeline->isImageRequired()),
|
||||
scan && !_registrationPipeline->isScanRequired(),
|
||||
userData && !_registrationPipeline->isUserDataRequired());
|
||||
userData && !_registrationPipeline->isUserDataRequired(),
|
||||
occupancyGrid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4423,7 +4423,7 @@ bool Rtabmap::process(
|
||||
}
|
||||
if(!_rawDataKept)
|
||||
{
|
||||
_memory->removeRawData(signature->id(), true, !_neighborLinkRefining && !_proximityBySpace, true);
|
||||
_memory->removeRawData(signature->id(), true, !_neighborLinkRefining && !_proximityBySpace, true, false);
|
||||
}
|
||||
|
||||
// Localization mode and saving localization data: save odometry covariance in a prior link
|
||||
|
||||
@@ -997,6 +997,14 @@ void SensorData::clearCompressedData(bool images, bool scan, bool userData, bool
|
||||
_groundCellsCompressed=cv::Mat();
|
||||
_emptyCellsCompressed=cv::Mat();
|
||||
_obstacleCellsCompressed=cv::Mat();
|
||||
|
||||
if( _groundCellsCompressed.empty() && _groundCellsRaw.empty() &&
|
||||
_obstacleCellsCompressed.empty() && _obstacleCellsRaw.empty() &&
|
||||
_emptyCellsCompressed.empty() && _emptyCellsRaw.empty())
|
||||
{
|
||||
_cellSize = 0.0f;
|
||||
_viewPoint = cv::Point3f();
|
||||
}
|
||||
}
|
||||
}
|
||||
void SensorData::clearRawData(bool images, bool scan, bool userData, bool occupancyGrid)
|
||||
@@ -1024,6 +1032,14 @@ void SensorData::clearRawData(bool images, bool scan, bool userData, bool occupa
|
||||
_groundCellsRaw=cv::Mat();
|
||||
_emptyCellsRaw=cv::Mat();
|
||||
_obstacleCellsRaw=cv::Mat();
|
||||
|
||||
if( _groundCellsCompressed.empty() && _groundCellsRaw.empty() &&
|
||||
_obstacleCellsCompressed.empty() && _obstacleCellsRaw.empty() &&
|
||||
_emptyCellsCompressed.empty() && _emptyCellsRaw.empty())
|
||||
{
|
||||
_cellSize = 0.0f;
|
||||
_viewPoint = cv::Point3f();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user