mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 10:00:23 +08:00
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:
@@ -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,
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user