refactoring: terms "current" and "full" changed for "local" and "global" respectively

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1122 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-02-17 22:58:46 +00:00
parent 260493ac8f
commit 5dbf6678ce
7 changed files with 118 additions and 118 deletions

View File

@@ -86,8 +86,8 @@ public:
void setTimeThreshold(float maxTimeAllowed); // in ms void setTimeThreshold(float maxTimeAllowed); // in ms
void triggerNewMap(); void triggerNewMap();
void generateGraph(const std::string & path, int id=0, int margin=5); void generateDOTGraph(const std::string & path, int id=0, int margin=5);
void generateTOROGraph(const std::string & path, bool optimized, bool full); void generateTOROGraph(const std::string & path, bool optimized, bool global);
void resetMemory(bool dbOverwritten = false); void resetMemory(bool dbOverwritten = false);
void dumpPrediction() const; void dumpPrediction() const;
void dumpData() const; void dumpData() const;
@@ -104,7 +104,7 @@ public:
std::map<int, Transform> & poses, std::map<int, Transform> & poses,
std::multimap<int, Link> & constraints, std::multimap<int, Link> & constraints,
bool optimized, bool optimized,
bool full) const; bool global) const;
void getGraph(std::map<int, Transform> & poses, void getGraph(std::map<int, Transform> & poses,
std::multimap<int, Link> & constraints, std::multimap<int, Link> & constraints,
bool optimized, bool optimized,

View File

@@ -52,16 +52,16 @@ public:
kCmdResetMemory, kCmdResetMemory,
kCmdDumpMemory, kCmdDumpMemory,
kCmdDumpPrediction, kCmdDumpPrediction,
kCmdGenerateGraph, // params: path kCmdGenerateDOTGraph, // params: path
kCmdGenerateLocalGraph, // params: path, id, margin kCmdGenerateDOTLocalGraph, // params: path, id, margin
kCmdGenerateTOROGraph, // params: path, optimized kCmdGenerateTOROGraphLocal, // params: path, optimized
kCmdGenerateTOROGraphFull, // params: path, optimized kCmdGenerateTOROGraphGlobal, // params: path, optimized
kCmdDeleteMemory, // params: path [optional] kCmdDeleteMemory, // params: path [optional]
kCmdCleanDataBuffer, kCmdCleanDataBuffer,
kCmdPublish3DMap, // params: optimized kCmdPublish3DMapLocal, // params: optimized
kCmdPublish3DMapFull, // params: optimized kCmdPublish3DMapGlobal, // params: optimized
kCmdPublishGraphFull, // params: optimized kCmdPublishTOROGraphGlobal, // params: optimized
kCmdPublishGraph, // params: optimized kCmdPublishTOROGraphLocal, // params: optimized
kCmdTriggerNewMap, kCmdTriggerNewMap,
kCmdPause}; kCmdPause};
public: public:

View File

@@ -51,16 +51,16 @@ public:
kStateChangingParameters, kStateChangingParameters,
kStateDumpingMemory, kStateDumpingMemory,
kStateDumpingPrediction, kStateDumpingPrediction,
kStateGeneratingGraph, kStateGeneratingDOTGraph,
kStateGeneratingLocalGraph, kStateGeneratingDOTLocalGraph,
kStateGeneratingTOROGraph, kStateGeneratingTOROGraphLocal,
kStateGeneratingTOROGraphFull, kStateGeneratingTOROGraphGlobal,
kStateDeletingMemory, kStateDeletingMemory,
kStateCleanDataBuffer, kStateCleanDataBuffer,
kStatePublishingMap, kStatePublishingMapLocal,
kStatePublishingMapFull, kStatePublishingMapGlobal,
kStatePublishingGraph, kStatePublishingTOROGraphLocal,
kStatePublishingGraphFull, kStatePublishingTOROGraphGlobal,
Graph, Graph,
kStateTriggeringMap kStateTriggeringMap
}; };
@@ -83,7 +83,7 @@ private:
void pushNewState(State newState, const ParametersMap & parameters = ParametersMap()); void pushNewState(State newState, const ParametersMap & parameters = ParametersMap());
void setDataBufferSize(int size); void setDataBufferSize(int size);
void publishMap(bool optimized, bool full) const; void publishMap(bool optimized, bool full) const;
void publishGraph(bool optimized, bool full) const; void publishTOROGraph(bool optimized, bool full) const;
private: private:
UMutex _stateMutex; UMutex _stateMutex;

View File

@@ -564,7 +564,7 @@ void Rtabmap::triggerNewMap()
} }
} }
void Rtabmap::generateGraph(const std::string & path, int id, int margin) void Rtabmap::generateDOTGraph(const std::string & path, int id, int margin)
{ {
if(_memory) if(_memory)
{ {
@@ -596,7 +596,7 @@ void Rtabmap::generateGraph(const std::string & path, int id, int margin)
} }
} }
void Rtabmap::generateTOROGraph(const std::string & path, bool optimized, bool full) void Rtabmap::generateTOROGraph(const std::string & path, bool optimized, bool global)
{ {
if(_memory && _memory->getLastWorkingSignature()) if(_memory && _memory->getLastWorkingSignature())
{ {
@@ -605,12 +605,12 @@ void Rtabmap::generateTOROGraph(const std::string & path, bool optimized, bool f
if(optimized) if(optimized)
{ {
this->optimizeCurrentMap(_memory->getLastWorkingSignature()->id(), full, poses, &constraints); this->optimizeCurrentMap(_memory->getLastWorkingSignature()->id(), global, poses, &constraints);
} }
else else
{ {
std::map<int, int> ids = _memory->getNeighborsId(_memory->getLastWorkingSignature()->id(), 0, full?-1:0, true); std::map<int, int> ids = _memory->getNeighborsId(_memory->getLastWorkingSignature()->id(), 0, global?-1:0, true);
_memory->getMetricConstraints(uKeys(ids), poses, constraints, full); _memory->getMetricConstraints(uKeys(ids), poses, constraints, global);
} }
util3d::saveTOROGraph(path, poses, constraints); util3d::saveTOROGraph(path, poses, constraints);
@@ -2110,23 +2110,23 @@ void Rtabmap::get3DMap(std::map<int, std::vector<unsigned char> > & images,
std::map<int, Transform> & poses, std::map<int, Transform> & poses,
std::multimap<int, Link> & constraints, std::multimap<int, Link> & constraints,
bool optimized, bool optimized,
bool full) const bool global) const
{ {
if(_memory && _memory->getLastWorkingSignature()) if(_memory && _memory->getLastWorkingSignature())
{ {
if(optimized) if(optimized)
{ {
this->optimizeCurrentMap(_memory->getLastWorkingSignature()->id(), full, poses, &constraints); this->optimizeCurrentMap(_memory->getLastWorkingSignature()->id(), global, poses, &constraints);
} }
else else
{ {
std::map<int, int> ids = _memory->getNeighborsId(_memory->getLastWorkingSignature()->id(), 0, full?-1:0, true); std::map<int, int> ids = _memory->getNeighborsId(_memory->getLastWorkingSignature()->id(), 0, global?-1:0, true);
_memory->getMetricConstraints(uKeys(ids), poses, constraints, full); _memory->getMetricConstraints(uKeys(ids), poses, constraints, global);
} }
std::set<int> ids = _memory->getWorkingMem(); // STM + WM std::set<int> ids = _memory->getWorkingMem(); // STM + WM
ids.insert(_memory->getStMem().begin(), _memory->getStMem().end()); ids.insert(_memory->getStMem().begin(), _memory->getStMem().end());
if(full) if(global)
{ {
ids = _memory->getAllSignatureIds(); // STM + WM + LTM ids = _memory->getAllSignatureIds(); // STM + WM + LTM
} }

View File

@@ -106,7 +106,7 @@ void RtabmapThread::publishMap(bool optimized, bool full) const
constraints)); constraints));
} }
void RtabmapThread::publishGraph(bool optimized, bool full) const void RtabmapThread::publishTOROGraph(bool optimized, bool full) const
{ {
std::map<int, std::vector<unsigned char> > images; std::map<int, std::vector<unsigned char> > images;
std::map<int, std::vector<unsigned char> > depths; std::map<int, std::vector<unsigned char> > depths;
@@ -178,16 +178,16 @@ void RtabmapThread::mainLoop()
case kStateDumpingPrediction: case kStateDumpingPrediction:
_rtabmap->dumpPrediction(); _rtabmap->dumpPrediction();
break; break;
case kStateGeneratingGraph: case kStateGeneratingDOTGraph:
_rtabmap->generateGraph(parameters.at("path")); _rtabmap->generateDOTGraph(parameters.at("path"));
break; break;
case kStateGeneratingLocalGraph: case kStateGeneratingDOTLocalGraph:
_rtabmap->generateGraph(parameters.at("path"), atoi(parameters.at("id").c_str()), atoi(parameters.at("margin").c_str())); _rtabmap->generateDOTGraph(parameters.at("path"), atoi(parameters.at("id").c_str()), atoi(parameters.at("margin").c_str()));
break; break;
case kStateGeneratingTOROGraph: case kStateGeneratingTOROGraphLocal:
_rtabmap->generateTOROGraph(parameters.at("path"), atoi(parameters.at("optimized").c_str())!=0, false); _rtabmap->generateTOROGraph(parameters.at("path"), atoi(parameters.at("optimized").c_str())!=0, false);
break; break;
case kStateGeneratingTOROGraphFull: case kStateGeneratingTOROGraphGlobal:
_rtabmap->generateTOROGraph(parameters.at("path"), atoi(parameters.at("optimized").c_str())!=0, true); _rtabmap->generateTOROGraph(parameters.at("path"), atoi(parameters.at("optimized").c_str())!=0, true);
break; break;
case kStateDeletingMemory: case kStateDeletingMemory:
@@ -201,17 +201,17 @@ void RtabmapThread::mainLoop()
case kStateCleanDataBuffer: case kStateCleanDataBuffer:
this->clearBufferedData(); this->clearBufferedData();
break; break;
case kStatePublishingMap: case kStatePublishingMapLocal:
this->publishMap(atoi(parameters.at("optimized").c_str())!=0, false); this->publishMap(atoi(parameters.at("optimized").c_str())!=0, false);
break; break;
case kStatePublishingMapFull: case kStatePublishingMapGlobal:
this->publishMap(atoi(parameters.at("optimized").c_str())!=0, true); this->publishMap(atoi(parameters.at("optimized").c_str())!=0, true);
break; break;
case kStatePublishingGraph: case kStatePublishingTOROGraphLocal:
this->publishGraph(atoi(parameters.at("optimized").c_str())!=0, false); this->publishTOROGraph(atoi(parameters.at("optimized").c_str())!=0, false);
break; break;
case kStatePublishingGraphFull: case kStatePublishingTOROGraphGlobal:
this->publishGraph(atoi(parameters.at("optimized").c_str())!=0, true); this->publishTOROGraph(atoi(parameters.at("optimized").c_str())!=0, true);
break; break;
case kStateTriggeringMap: case kStateTriggeringMap:
_rtabmap->triggerNewMap(); _rtabmap->triggerNewMap();
@@ -264,48 +264,48 @@ void RtabmapThread::handleEvent(UEvent* event)
ULOGGER_DEBUG("CMD_DUMP_PREDICTION"); ULOGGER_DEBUG("CMD_DUMP_PREDICTION");
pushNewState(kStateDumpingPrediction); pushNewState(kStateDumpingPrediction);
} }
else if(cmd == RtabmapEventCmd::kCmdGenerateGraph) else if(cmd == RtabmapEventCmd::kCmdGenerateDOTGraph)
{ {
UASSERT(!rtabmapEvent->getStr().empty()); UASSERT(!rtabmapEvent->getStr().empty());
ULOGGER_DEBUG("CMD_GENERATE_GRAPH"); ULOGGER_DEBUG("CMD_GENERATE_DOT_GRAPH");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("path", rtabmapEvent->getStr())); param.insert(ParametersPair("path", rtabmapEvent->getStr()));
pushNewState(kStateGeneratingGraph, param); pushNewState(kStateGeneratingDOTGraph, param);
} }
else if(cmd == RtabmapEventCmd::kCmdGenerateLocalGraph) else if(cmd == RtabmapEventCmd::kCmdGenerateDOTLocalGraph)
{ {
std::list<std::string> values = uSplit(rtabmapEvent->getStr(), ';'); std::list<std::string> values = uSplit(rtabmapEvent->getStr(), ';');
UASSERT(values.size() == 3); UASSERT(values.size() == 3);
ULOGGER_DEBUG("CMD_GENERATE_LOCAL_GRAPH"); ULOGGER_DEBUG("CMD_GENERATE_DOT_LOCAL_GRAPH");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("path", *values.begin())); param.insert(ParametersPair("path", *values.begin()));
param.insert(ParametersPair("id", *(++values.begin()))); param.insert(ParametersPair("id", *(++values.begin())));
param.insert(ParametersPair("margin", *values.rbegin())); param.insert(ParametersPair("margin", *values.rbegin()));
pushNewState(kStateGeneratingLocalGraph, param); pushNewState(kStateGeneratingDOTLocalGraph, param);
} }
else if(cmd == RtabmapEventCmd::kCmdGenerateTOROGraph) else if(cmd == RtabmapEventCmd::kCmdGenerateTOROGraphLocal)
{ {
UASSERT(!rtabmapEvent->getStr().empty()); UASSERT(!rtabmapEvent->getStr().empty());
ULOGGER_DEBUG("CMD_GENERATE_TORO_GRAPH"); ULOGGER_DEBUG("CMD_GENERATE_TORO_GRAPH_LOCAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("path", rtabmapEvent->getStr())); param.insert(ParametersPair("path", rtabmapEvent->getStr()));
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStateGeneratingTOROGraph, param); pushNewState(kStateGeneratingTOROGraphLocal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdGenerateTOROGraphFull) else if(cmd == RtabmapEventCmd::kCmdGenerateTOROGraphGlobal)
{ {
UASSERT(!rtabmapEvent->getStr().empty()); UASSERT(!rtabmapEvent->getStr().empty());
ULOGGER_DEBUG("CMD_GENERATE_TORO_GRAPH_FULL"); ULOGGER_DEBUG("CMD_GENERATE_TORO_GRAPH_GLOBAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("path", rtabmapEvent->getStr())); param.insert(ParametersPair("path", rtabmapEvent->getStr()));
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStateGeneratingTOROGraphFull, param); pushNewState(kStateGeneratingTOROGraphGlobal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdDeleteMemory) else if(cmd == RtabmapEventCmd::kCmdDeleteMemory)
@@ -320,33 +320,33 @@ void RtabmapThread::handleEvent(UEvent* event)
ULOGGER_DEBUG("CMD_CLEAN_DATA_BUFFER"); ULOGGER_DEBUG("CMD_CLEAN_DATA_BUFFER");
pushNewState(kStateCleanDataBuffer); pushNewState(kStateCleanDataBuffer);
} }
else if(cmd == RtabmapEventCmd::kCmdPublish3DMap) else if(cmd == RtabmapEventCmd::kCmdPublish3DMapLocal)
{ {
ULOGGER_DEBUG("CMD_PUBLISH_MAP"); ULOGGER_DEBUG("CMD_PUBLISH_MAP_LOCAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStatePublishingMap, param); pushNewState(kStatePublishingMapLocal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdPublish3DMapFull) else if(cmd == RtabmapEventCmd::kCmdPublish3DMapGlobal)
{ {
ULOGGER_DEBUG("CMD_PUBLISH_MAP_FULL"); ULOGGER_DEBUG("CMD_PUBLISH_MAP_GLOBAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStatePublishingMapFull, param); pushNewState(kStatePublishingMapGlobal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdPublishGraph) else if(cmd == RtabmapEventCmd::kCmdPublishTOROGraphLocal)
{ {
ULOGGER_DEBUG("CMD_PUBLISH_GRAPH"); ULOGGER_DEBUG("CMD_PUBLISH_TORO_GRAPH_LOCAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStatePublishingGraph, param); pushNewState(kStatePublishingTOROGraphLocal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdPublishGraphFull) else if(cmd == RtabmapEventCmd::kCmdPublishTOROGraphGlobal)
{ {
ULOGGER_DEBUG("CMD_PUBLISH_GRAPH_FULL"); ULOGGER_DEBUG("CMD_PUBLISH_TORO_GRAPH_GLOBAL");
ParametersMap param; ParametersMap param;
param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt()))); param.insert(ParametersPair("optimized", uNumber2Str(rtabmapEvent->getInt())));
pushNewState(kStatePublishingGraphFull, param); pushNewState(kStatePublishingTOROGraphGlobal, param);
} }
else if(cmd == RtabmapEventCmd::kCmdTriggerNewMap) else if(cmd == RtabmapEventCmd::kCmdTriggerNewMap)
{ {

View File

@@ -145,7 +145,7 @@ int main(int argc, char * argv[])
printf("Processing images completed. Loop closures found = %d\n", countLoopDetected); printf("Processing images completed. Loop closures found = %d\n", countLoopDetected);
// Generate a graph for visualization with Graphiz // Generate a graph for visualization with Graphiz
rtabmap.generateGraph("Graph.dot"); rtabmap.generateDOTGraph("Graph.dot");
printf("Generated graph \"Graph.dot\", viewable with Graphiz using \"neato -Tpdf Graph.dot -o out.pdf\"\n"); printf("Generated graph \"Graph.dot\", viewable with Graphiz using \"neato -Tpdf Graph.dot -o out.pdf\"\n");
// Cleanup... save database and logs // Cleanup... save database and logs

View File

@@ -2260,7 +2260,7 @@ void MainWindow::generateMap()
if(!path.isEmpty()) if(!path.isEmpty())
{ {
_graphSavingFileName = path; _graphSavingFileName = path;
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateGraph, path.toStdString())); // The event is automatically deleted by the EventsManager... this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateDOTGraph, path.toStdString())); // The event is automatically deleted by the EventsManager...
_ui->dockWidget_console->show(); _ui->dockWidget_console->show();
_ui->widget_console->appendMsg(QString("Graph saved... Tip:\nneato -Tpdf \"%1\" -o out.pdf").arg(_graphSavingFileName).arg(_graphSavingFileName)); _ui->widget_console->appendMsg(QString("Graph saved... Tip:\nneato -Tpdf \"%1\" -o out.pdf").arg(_graphSavingFileName).arg(_graphSavingFileName));
@@ -2300,7 +2300,7 @@ void MainWindow::generateLocalMap()
{ {
_graphSavingFileName = path; _graphSavingFileName = path;
QString str = path + QString(";") + QString::number(id) + QString(";") + QString::number(margin); QString str = path + QString(";") + QString::number(id) + QString(";") + QString::number(margin);
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateLocalGraph, str.toStdString())); // The event is automatically deleted by the EventsManager... this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateDOTLocalGraph, str.toStdString())); // The event is automatically deleted by the EventsManager...
_ui->dockWidget_console->show(); _ui->dockWidget_console->show();
_ui->widget_console->appendMsg(QString("Graph saved... Tip:\nneato -Tpdf \"%1\" -o out.pdf").arg(_graphSavingFileName).arg(_graphSavingFileName)); _ui->widget_console->appendMsg(QString("Graph saved... Tip:\nneato -Tpdf \"%1\" -o out.pdf").arg(_graphSavingFileName).arg(_graphSavingFileName));
@@ -2317,31 +2317,31 @@ void MainWindow::generateTOROMap()
} }
QStringList items; QStringList items;
items.append("Current map optimized"); items.append("Local map optimized");
items.append("Current map not optimized"); items.append("Local map not optimized");
items.append("Full map optimized"); items.append("Global map optimized");
items.append("Full map not optimized"); items.append("Global map not optimized");
bool ok; bool ok;
QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, 0, false, &ok); QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, 0, false, &ok);
if(ok) if(ok)
{ {
bool optimized=false, full=false; bool optimized=false, global=false;
if(item.compare("Current map optimized") == 0) if(item.compare("Local map optimized") == 0)
{ {
optimized = true; optimized = true;
} }
else if(item.compare("Current map not optimized") == 0) else if(item.compare("Local map not optimized") == 0)
{ {
} }
else if(item.compare("Full map optimized") == 0) else if(item.compare("Global map optimized") == 0)
{ {
full=true; global=true;
optimized=true; optimized=true;
} }
else if(item.compare("Full map not optimized") == 0) else if(item.compare("Global map not optimized") == 0)
{ {
full=true; global=true;
} }
else else
{ {
@@ -2352,18 +2352,18 @@ void MainWindow::generateTOROMap()
if(!path.isEmpty()) if(!path.isEmpty())
{ {
_toroSavingFileName = path; _toroSavingFileName = path;
if(full) if(global)
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateTOROGraphFull, path.toStdString(), optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateTOROGraphGlobal, path.toStdString(), optimized?1:0));
} }
else else
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateTOROGraph, path.toStdString(), optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGenerateTOROGraphLocal, path.toStdString(), optimized?1:0));
} }
_ui->dockWidget_console->show(); _ui->dockWidget_console->show();
_ui->widget_console->appendMsg(QString("TORO Graph saved (full=%1, optimized=%2)... %3") _ui->widget_console->appendMsg(QString("TORO Graph saved (global=%1, optimized=%2)... %3")
.arg(full?"true":"false").arg(optimized?"true":"false").arg(_toroSavingFileName)); .arg(global?"true":"false").arg(optimized?"true":"false").arg(_toroSavingFileName));
} }
} }
@@ -2478,37 +2478,37 @@ void MainWindow::downloadAllClouds()
bool showAll = _state != kMonitoringPaused && _state != kMonitoring; bool showAll = _state != kMonitoringPaused && _state != kMonitoring;
QStringList items; QStringList items;
items.append("Current map optimized"); items.append("Local map optimized");
if(showAll) if(showAll)
{ {
items.append("Current map not optimized"); items.append("Local map not optimized");
} }
items.append("Full map optimized"); items.append("Global map optimized");
if(showAll) if(showAll)
{ {
items.append("Full map not optimized"); items.append("Global map not optimized");
} }
bool ok; bool ok;
QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, showAll?2:1, false, &ok); QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, showAll?2:1, false, &ok);
if(ok) if(ok)
{ {
bool optimized=false, full=false; bool optimized=false, global=false;
if(item.compare("Current map optimized") == 0) if(item.compare("Local map optimized") == 0)
{ {
optimized = true; optimized = true;
} }
else if(item.compare("Current map not optimized") == 0) else if(item.compare("Local map not optimized") == 0)
{ {
} }
else if(item.compare("Full map optimized") == 0) else if(item.compare("Global map optimized") == 0)
{ {
full=true; global=true;
optimized=true; optimized=true;
} }
else if(item.compare("Full map not optimized") == 0) else if(item.compare("Global map not optimized") == 0)
{ {
full=true; global=true;
} }
else else
{ {
@@ -2519,15 +2519,15 @@ void MainWindow::downloadAllClouds()
_initProgressDialog->setAutoClose(true, 1); _initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
_initProgressDialog->appendText(tr("Downloading the map (full=%1 ,optimized=%2)...") _initProgressDialog->appendText(tr("Downloading the map (global=%1 ,optimized=%2)...")
.arg(full?"true":"false").arg(optimized?"true":"false")); .arg(global?"true":"false").arg(optimized?"true":"false"));
if(full) if(global)
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublish3DMapFull, optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublish3DMapGlobal, optimized?1:0));
} }
else else
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublish3DMap, optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublish3DMapLocal, optimized?1:0));
} }
} }
} }
@@ -2537,37 +2537,37 @@ void MainWindow::downloadPoseGraph()
bool showAll = _state != kMonitoringPaused && _state != kMonitoring; bool showAll = _state != kMonitoringPaused && _state != kMonitoring;
QStringList items; QStringList items;
items.append("Current map optimized"); items.append("Local map optimized");
if(showAll) if(showAll)
{ {
items.append("Current map not optimized"); items.append("Local map not optimized");
} }
items.append("Full map optimized"); items.append("Global map optimized");
if(showAll) if(showAll)
{ {
items.append("Full map not optimized"); items.append("Global map not optimized");
} }
bool ok; bool ok;
QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, showAll?2:1, false, &ok); QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, showAll?2:1, false, &ok);
if(ok) if(ok)
{ {
bool optimized=false, full=false; bool optimized=false, global=false;
if(item.compare("Current map optimized") == 0) if(item.compare("Local map optimized") == 0)
{ {
optimized = true; optimized = true;
} }
else if(item.compare("Current map not optimized") == 0) else if(item.compare("Local map not optimized") == 0)
{ {
} }
else if(item.compare("Full map optimized") == 0) else if(item.compare("Global map optimized") == 0)
{ {
full=true; global=true;
optimized=true; optimized=true;
} }
else if(item.compare("Full map not optimized") == 0) else if(item.compare("Global map not optimized") == 0)
{ {
full=true; global=true;
} }
else else
{ {
@@ -2578,15 +2578,15 @@ void MainWindow::downloadPoseGraph()
_initProgressDialog->setAutoClose(true, 1); _initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
_initProgressDialog->appendText(tr("Downloading the graph (full=%1 ,optimized=%2)...") _initProgressDialog->appendText(tr("Downloading the graph (global=%1 ,optimized=%2)...")
.arg(full?"true":"false").arg(optimized?"true":"false")); .arg(global?"true":"false").arg(optimized?"true":"false"));
if(full) if(global)
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublishGraphFull, optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublishTOROGraphGlobal, optimized?1:0));
} }
else else
{ {
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublishGraph, optimized?1:0)); this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdPublishTOROGraphLocal, optimized?1:0));
} }
} }
} }