I have applied some changes to the GUI so that non-technical users can use it more easily.
Currently, my issue is creating a kSavedStatus similar to kClose , but instead of clearing up the scan just save the current changes to a database file. In further detail, I want to use current closedatabase button as a save button so that the user can save anytime instead of just saving when leaves the app.
For this purpose, I created a new state in the flow of the application. For instance, I add a cmd to enum cmds in RtabmapEventCmd class (RtabEvent.h) . After create this cmd, I created a state in RTabMapThread class. For implementation an action/status to the command I inserted a a event in handleEvent method. Finally, I added as a case on mainLoop method. During this last step, it pop out my main hurdle. I am not sure how to save status into a database . Could you explain how should I proceed to do it?
In the main loop of RtabmapThread under your kSavedStatus case, you may do:
parameters = _rtabmap->getParameters();
You would have to save databasePath somewhere, or send it again along your event like what is done for kStateInit. I updated the code to get the database url for convenience, so with this commit, we could do: