feat(slam): add rtabmap_ros
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
/*
|
||||
Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Universite de Sherbrooke nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "rtabmap/gui/AboutDialog.h"
|
||||
#include "rtabmap/core/Parameters.h"
|
||||
#include "rtabmap/core/CameraRGBD.h"
|
||||
#include "rtabmap/core/CameraStereo.h"
|
||||
#include "rtabmap/core/Optimizer.h"
|
||||
#include "ui_aboutDialog.h"
|
||||
#include <opencv2/core/version.hpp>
|
||||
#include <pcl/pcl_config.h>
|
||||
#include <vtkVersion.h>
|
||||
|
||||
namespace rtabmap {
|
||||
|
||||
AboutDialog::AboutDialog(QWidget * parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
_ui = new Ui_aboutDialog();
|
||||
_ui->setupUi(this);
|
||||
QString version = Parameters::getVersion().c_str();
|
||||
QString cv_version = CV_VERSION;
|
||||
#if CV_MAJOR_VERSION < 3
|
||||
#ifdef RTABMAP_NONFREE
|
||||
_ui->label_opencv_license->setText("Not Commercial [With nonfree module]");
|
||||
#else
|
||||
_ui->label_opencv_license->setText("BSD [Without nonfree module]");
|
||||
#endif
|
||||
#elif defined(HAVE_OPENCV_XFEATURES2D)
|
||||
#ifdef RTABMAP_NONFREE
|
||||
_ui->label_opencv_license->setText("Not Commercial [With xfeatures2d and nonfree modules]");
|
||||
#else
|
||||
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION<5)
|
||||
_ui->label_opencv_license->setText("BSD [With xfeatures2d module]");
|
||||
#else
|
||||
_ui->label_opencv_license->setText("Apache 3 [With xfeatures2d module]");
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION<5)
|
||||
_ui->label_opencv_license->setText("BSD [Without xfeatures2d and nonfree modules]");
|
||||
#else
|
||||
_ui->label_opencv_license->setText("Apache 3 [Without xfeatures2d and nonfree modules]");
|
||||
#endif
|
||||
#endif
|
||||
_ui->label_version->setText(version);
|
||||
_ui->label_opencv_version->setText(cv_version);
|
||||
_ui->label_pcl_version->setText(PCL_VERSION_PRETTY);
|
||||
_ui->label_vtk_version->setText(vtkVersion::GetVTKVersion());
|
||||
_ui->label_qt_version->setText(qVersion());
|
||||
#ifdef RTABMAP_ORB_OCTREE
|
||||
_ui->label_orboctree->setText("Yes");
|
||||
_ui->label_orboctree_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_orboctree->setText("No");
|
||||
_ui->label_orboctree_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_TORCH
|
||||
_ui->label_sptorch->setText("Yes");
|
||||
_ui->label_sptorch_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_sptorch->setText("No");
|
||||
_ui->label_sptorch_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_PYTHON
|
||||
_ui->label_pymatcher->setText("Yes");
|
||||
_ui->label_pymatcher_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_pymatcher->setText("No");
|
||||
_ui->label_pymatcher_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_FASTCV
|
||||
_ui->label_fastcv->setText("Yes");
|
||||
_ui->label_fastcv_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_fastcv->setText("No");
|
||||
_ui->label_fastcv_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_PDAL
|
||||
_ui->label_pdal->setText("Yes");
|
||||
_ui->label_pdal_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_pdal->setText("No");
|
||||
_ui->label_pdal_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_LIBLAS
|
||||
_ui->label_liblas->setText("Yes");
|
||||
_ui->label_liblas_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_liblas->setText("No");
|
||||
_ui->label_liblas_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_CUDASIFT
|
||||
_ui->label_cudasift->setText("Yes");
|
||||
_ui->label_cudasift_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_cudasift->setText("No");
|
||||
_ui->label_cudasift_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_OCTOMAP
|
||||
_ui->label_octomap->setText("Yes");
|
||||
_ui->label_octomap_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_octomap->setText("No");
|
||||
_ui->label_octomap_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_GRIDMAP
|
||||
_ui->label_gridmap->setText("Yes");
|
||||
_ui->label_gridmap_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_gridmap->setText("No");
|
||||
_ui->label_gridmap_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_CPUTSDF
|
||||
_ui->label_cputsdf->setText("Yes");
|
||||
_ui->label_cputsdf_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_cputsdf->setText("No");
|
||||
_ui->label_cputsdf_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_OPENCHISEL
|
||||
_ui->label_openchisel->setText("Yes");
|
||||
#else
|
||||
_ui->label_openchisel->setText("No");
|
||||
#endif
|
||||
#ifdef RTABMAP_ALICE_VISION
|
||||
_ui->label_aliceVision->setText("Yes");
|
||||
_ui->label_aliceVision_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_aliceVision->setText("No");
|
||||
_ui->label_aliceVision_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
_ui->label_freenect->setText(CameraFreenect::available()?"Yes":"No");
|
||||
_ui->label_freenect_license->setEnabled(CameraFreenect::available());
|
||||
_ui->label_openni->setText(CameraOpenni::available()?"Yes":"No");
|
||||
_ui->label_openni_license->setEnabled(CameraOpenni::available());
|
||||
_ui->label_openni2->setText(CameraOpenNI2::available()?"Yes":"No");
|
||||
_ui->label_openni2_license->setEnabled(CameraOpenNI2::available());
|
||||
_ui->label_freenect2->setText(CameraFreenect2::available()?"Yes":"No");
|
||||
_ui->label_freenect2_license->setEnabled(CameraFreenect2::available());
|
||||
_ui->label_realsense->setText(CameraRealSense::available() ? "Yes" : "No");
|
||||
_ui->label_realsense_license->setEnabled(CameraRealSense::available());
|
||||
_ui->label_realsense2->setText(CameraRealSense2::available() ? "Yes" : "No");
|
||||
_ui->label_realsense2_license->setEnabled(CameraRealSense2::available());
|
||||
_ui->label_dc1394->setText(CameraStereoDC1394::available()?"Yes":"No");
|
||||
_ui->label_dc1394_license->setEnabled(CameraStereoDC1394::available());
|
||||
_ui->label_flycapture2->setText(CameraStereoFlyCapture2::available()?"Yes":"No");
|
||||
_ui->label_zed->setText(CameraStereoZed::available()?"Yes":"No");
|
||||
_ui->label_zedOC->setText(CameraStereoZedOC::available()?"Yes":"No");
|
||||
_ui->label_zedOC_license->setEnabled(CameraStereoZedOC::available());
|
||||
_ui->label_k4w2->setText(CameraK4W2::available() ? "Yes" : "No");
|
||||
_ui->label_k4a->setText(CameraK4A::available() ? "Yes" : "No");
|
||||
_ui->label_mynteye->setText(CameraMyntEye::available() ? "Yes" : "No");
|
||||
_ui->label_depthai->setText(CameraDepthAI::available() ? "Yes" : "No");
|
||||
_ui->label_depthai_license->setEnabled(CameraDepthAI::available());
|
||||
_ui->label_xvsdk->setText(CameraSeerSense::available() ? "Yes" : "No");
|
||||
|
||||
_ui->label_toro->setText(Optimizer::isAvailable(Optimizer::kTypeTORO)?"Yes":"No");
|
||||
_ui->label_toro_license->setEnabled(Optimizer::isAvailable(Optimizer::kTypeTORO)?true:false);
|
||||
_ui->label_g2o->setText(Optimizer::isAvailable(Optimizer::kTypeG2O)?"Yes":"No");
|
||||
_ui->label_g2o_license->setEnabled(Optimizer::isAvailable(Optimizer::kTypeG2O)?true:false);
|
||||
_ui->label_gtsam->setText(Optimizer::isAvailable(Optimizer::kTypeGTSAM)?"Yes":"No");
|
||||
_ui->label_gtsam_license->setEnabled(Optimizer::isAvailable(Optimizer::kTypeGTSAM)?true:false);
|
||||
_ui->label_cvsba->setText(Optimizer::isAvailable(Optimizer::kTypeCVSBA)?"Yes":"No");
|
||||
_ui->label_cvsba_license->setEnabled(Optimizer::isAvailable(Optimizer::kTypeCVSBA)?true:false);
|
||||
_ui->label_ceres->setText(Optimizer::isAvailable(Optimizer::kTypeCeres)?"Yes":"No");
|
||||
_ui->label_ceres_license->setEnabled(Optimizer::isAvailable(Optimizer::kTypeCeres)?true:false);
|
||||
|
||||
#ifdef RTABMAP_MRPT
|
||||
_ui->label_mrpt->setText("Yes");
|
||||
_ui->label_mrpt_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_mrpt->setText("No");
|
||||
_ui->label_mrpt_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_POINTMATCHER
|
||||
_ui->label_libpointmatcher->setText("Yes");
|
||||
_ui->label_libpointmatcher_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_libpointmatcher->setText("No");
|
||||
_ui->label_libpointmatcher_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_CCCORELIB
|
||||
_ui->label_cccorelib->setText("Yes");
|
||||
_ui->label_cccorelib_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_cccorelib->setText("No");
|
||||
_ui->label_cccorelib_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_OPEN3D
|
||||
_ui->label_open3d->setText("Yes");
|
||||
_ui->label_open3d_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_open3d->setText("No");
|
||||
_ui->label_open3d_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_FOVIS
|
||||
_ui->label_fovis->setText("Yes");
|
||||
_ui->label_fovis_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_fovis->setText("No");
|
||||
_ui->label_fovis_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_VISO2
|
||||
_ui->label_viso2->setText("Yes");
|
||||
_ui->label_viso2_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_viso2->setText("No");
|
||||
_ui->label_viso2_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_DVO
|
||||
_ui->label_dvo->setText("Yes");
|
||||
_ui->label_dvo_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_dvo->setText("No");
|
||||
_ui->label_dvo_license->setEnabled(false);
|
||||
#endif
|
||||
#ifdef RTABMAP_ORB_SLAM
|
||||
#if RTABMAP_ORB_SLAM == 3
|
||||
_ui->label_orbslam_title->setText("With ORB SLAM3 :");
|
||||
#elif RTABMAP_ORB_SLAM == 2
|
||||
_ui->label_orbslam_title->setText("With ORB SLAM2 :");
|
||||
#endif
|
||||
_ui->label_orbslam->setText("Yes");
|
||||
_ui->label_orbslam_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_orbslam->setText("No");
|
||||
_ui->label_orbslam_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_OKVIS
|
||||
_ui->label_okvis->setText("Yes");
|
||||
_ui->label_okvis_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_okvis->setText("No");
|
||||
_ui->label_okvis_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_LOAM
|
||||
_ui->label_loam->setText("Yes");
|
||||
_ui->label_loam_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_loam->setText("No");
|
||||
_ui->label_loam_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_MSCKF_VIO
|
||||
_ui->label_msckf->setText("Yes");
|
||||
_ui->label_msckf_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_msckf->setText("No");
|
||||
_ui->label_msckf_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_VINS
|
||||
_ui->label_vins_fusion->setText("Yes");
|
||||
_ui->label_vins_fusion_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_vins_fusion->setText("No");
|
||||
_ui->label_vins_fusion_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_OPENVINS
|
||||
_ui->label_openvins->setText("Yes");
|
||||
_ui->label_openvins_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_openvins->setText("No");
|
||||
_ui->label_openvins_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
AboutDialog::~AboutDialog()
|
||||
{
|
||||
delete _ui;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user