mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 17:40:23 +08:00
multiband: fixed error when intermediate nodes without data are in memory
This commit is contained in:
@@ -2413,6 +2413,22 @@ bool multiBandTexturing(
|
||||
{
|
||||
image = data.imageRaw();
|
||||
}
|
||||
|
||||
if(models.empty() || image.empty())
|
||||
{
|
||||
Transform odomPose;
|
||||
int mapId;
|
||||
int weight=0;
|
||||
std::string label;
|
||||
double stamp;
|
||||
Transform gt;
|
||||
std::vector<float> vel;
|
||||
GPS gps;
|
||||
EnvSensors envs;
|
||||
memory->getNodeInfo(camId, odomPose, mapId, weight, label, stamp, gt, vel, gps, envs, true);
|
||||
if(weight == -1) // just ignore intermediate nodes if their data is not set
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if(dbDriver)
|
||||
{
|
||||
@@ -2433,6 +2449,14 @@ bool multiBandTexturing(
|
||||
{
|
||||
image = data.imageRaw();
|
||||
}
|
||||
|
||||
if(models.empty() || image.empty())
|
||||
{
|
||||
int weight=0;
|
||||
dbDriver->getWeight(camId, weight);
|
||||
if(weight == -1) // just ignore intermediate nodes if their data is not set
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(models.empty())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user