From 34fa01466ae990eedddcfca2756328278e6e3cb6 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Wed, 27 Apr 2011 20:36:00 +0000 Subject: [PATCH] Updated to version 0.2.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ConsoleApp : -Added new parameters (-exit_warn -exit_error -image_width -image_height -v) -Using buffered logger (introduced in UtiLite 0.2.9) DatabaseViewer : - Added action generating local graph around a specified location - Added action to clean local graph around a specified location - Moved all generating/cleaning graph methods into RTAB-Map lib Memory class. Now use rtabmap::Memory class instead of rtabmap::DBDriver class directly. DBDriver class : -Protected all accesses to db driver with a mutex. Parameters class : - Added WorkingDirectory - Added LocalGraphCleaned - Added RecentWmRatio - Removed ChildSaved - Added getDefaultWorkingDirectory() Rtabmap class : - changed getChildCount() to getWeights() - Closing logged files before cleaning all memories (to keep the logs even if the application crashes when cleaning) - Cleaning automatically local graphs if LocalGraphCleaned is set, accordingly to neighborhood margin. - Added log vpHypothesis and timeEmptyingMemoryTrash RtabmapEvent class : - Added statistics Timing [CleaningNeighbors][Memory_cleanup][Emptying_memory_trash] - Added Statistic LoopHypothesis_ratio -Removed changeWorkingDirectory command (now a parameter) - Added kCmdGenerateGraph command to generate a graph CameraDatabase class : -Using an index iterator instead of an index number. DBDriverSqlite3 class : - Added getHighestWeightedSignaturesQuery() Memory class : - Fixed to not write in database when the memory is not changed (isMemoryChanged()) - Now recent locations after the last loop closure can't be selected to be transferred and accordingly to - Removed updateCommonSignature() - Added getAllSignatureIds() : look also in database (LTM) - Added generateGraph() - Added cleanLocalGraph() - Added cleanLTM() - Added cleanGraph() - Added createGraph() KeypointMemory class : - Fixed tf-idf when computing likelihood - Removed updateCommonSignature() - Removed cached word references to change Rtabmap-gui : - Added generateMap action - Added keypoint's opacity parameter - Added beepOnPause behavior - Added ConsoleWidget class : log event are shown in - Added pause on log level - Showing rejected loop closures by ratio - (MacOSX) Fixed bug 1 : It was a problem in PreferencesDialog::showEvent(), where a child dialog was created while the parent dialog was shown. Just removed the link to the parent (set null) instead. Added Node class : - Used in Memory class to create/cleanup a graph Others : Some optimizations added when inserting at the end of a map or a set… git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@28 f169173b-cf89-36c8-b27e-44dbe73f0c83 --- src/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index b6578d91..11b2156f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -33,7 +33,7 @@ int main(int argc, char* argv[]) /* Set logger type */ ULogger::setType(ULogger::kTypeConsole); - ULogger::setLevel(ULogger::kDebug); // Disable log with level + ULogger::setLevel(ULogger::kWarning); // Disable log with level ULOGGER_INFO("Program started..."); @@ -63,6 +63,7 @@ int main(int argc, char* argv[]) ULOGGER_INFO("Free memory..."); + delete mainWindow; //Since we can't put the Rtabmap object in the MainWindow class, //we pop up a message box indicating that the rtabmap object // is being deleted (saving data to the database) @@ -70,14 +71,13 @@ int main(int argc, char* argv[]) msg->setEnabled(false); msg->setIconPixmap(QPixmap(":/images/RTAB-Map.ico")); msg->setWindowIcon(QIcon(":/images/RTAB-Map.ico")); + msg->show(); ObjDeletionThread delThread(rtabmap); ObjDeletionHandler handler(delThread.id(), app, SLOT(quit())); UEventsManager::addHandler(&handler); - delThread.startDeletion(); - msg->show(); + delThread.startDeletion(1); // make sure that app-exec() is called before the deletion of the object app->exec(); delete msg; - delete mainWindow; delete app; ULOGGER_INFO("All done! Closing...");