diff --git a/tools/Export/main.cpp b/tools/Export/main.cpp index 87d78caf..a23009a1 100644 --- a/tools/Export/main.cpp +++ b/tools/Export/main.cpp @@ -56,6 +56,7 @@ void showUsage() printf("\nUsage:\n" "rtabmap-export [options] database.db\n" "Options:\n" + " --output Output name (default: name of the database is used).\n" " --bin Export PLY in binary format.\n" " --las Export cloud in LAS instead of PLY (PDAL dependency required).\n" " --mesh Create a mesh.\n" @@ -133,6 +134,7 @@ int main(int argc, char * argv[]) bool camProjection = false; bool exportPoses = false; bool exportImages = false; + std::string outputName; cv::Vec3f min, max; for(int i=1; iempty()?(int)cloudToExport->size():(int)cloudIToExport->size()); if(!cloudToExport->empty()) @@ -885,29 +899,29 @@ int main(int argc, char * argv[]) driver->saveOptimizedMesh(util3d::laserScanFromPointCloud(*cloudIToExport, Transform(), false).data()); printf("Saving in db... done!\n"); } - } - else - { - std::string ext = las?"las":"ply"; - std::string outputPath=outputDirectory+"/"+baseName+"_cloud."+ext; - printf("Saving %s... (%d points)\n", outputPath.c_str(), !cloudToExport->empty()?(int)cloudToExport->size():(int)cloudIToExport->size()); -#ifdef RTABMAP_PDAL - if(!cloudToExport->empty()) - savePDALFile(outputPath, *cloudToExport, pointToCamId, binary); - else if(!cloudIToExport->empty()) - savePDALFile(outputPath, *cloudIToExport, pointToCamId, binary); -#else - if(!pointToCamId.empty()) + else { - printf("Option --cam_projection is enabled but rtabmap is not built " - "with PDAL support, so camera IDs won't be exported in the output cloud.\n"); - } - if(!cloudToExport->empty()) - pcl::io::savePLYFile(outputPath, *cloudToExport, binary); - else if(!cloudIToExport->empty()) - pcl::io::savePLYFile(outputPath, *cloudIToExport, binary); + std::string ext = las?"las":"ply"; + std::string outputPath=outputDirectory+"/"+baseName+"_cloud."+ext; + printf("Saving %s... (%d points)\n", outputPath.c_str(), !cloudToExport->empty()?(int)cloudToExport->size():(int)cloudIToExport->size()); +#ifdef RTABMAP_PDAL + if(!cloudToExport->empty()) + savePDALFile(outputPath, *cloudToExport, pointToCamId, binary); + else if(!cloudIToExport->empty()) + savePDALFile(outputPath, *cloudIToExport, pointToCamId, binary); +#else + if(!pointToCamId.empty()) + { + printf("Option --cam_projection is enabled but rtabmap is not built " + "with PDAL support, so camera IDs won't be exported in the output cloud.\n"); + } + if(!cloudToExport->empty()) + pcl::io::savePLYFile(outputPath, *cloudToExport, binary); + else if(!cloudIToExport->empty()) + pcl::io::savePLYFile(outputPath, *cloudIToExport, binary); #endif - printf("Saving %s... done!\n", outputPath.c_str()); + printf("Saving %s... done!\n", outputPath.c_str()); + } } // Meshing...