mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-01 17:10:26 +08:00
Refactoring RTABMapConfig.cmake with targets (#904)
* Config: Using cmake targets * fixed RTABMAP_DEPRECATED build error * fixed melodic build * cleanup * Fixed qhull exported library error * Update svg depend private * removed g2o from public interface * Fixed Windows with external project * removed some required dep * Fixed nsis error (also fixed unspecified components) * updated workflow rules
This commit is contained in:
2
.github/workflows/cmake-ros.yml
vendored
2
.github/workflows/cmake-ros.yml
vendored
@@ -3,7 +3,7 @@ name: CMake-ROS
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- '**'
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- '**'
|
- '**'
|
||||||
|
|||||||
2
.github/workflows/cmake.yml
vendored
2
.github/workflows/cmake.yml
vendored
@@ -3,7 +3,7 @@ name: CMake
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- '**'
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- '**'
|
- '**'
|
||||||
|
|||||||
180
CMakeLists.txt
180
CMakeLists.txt
@@ -19,8 +19,8 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
|
|||||||
# VERSION
|
# VERSION
|
||||||
#######################
|
#######################
|
||||||
SET(RTABMAP_MAJOR_VERSION 0)
|
SET(RTABMAP_MAJOR_VERSION 0)
|
||||||
SET(RTABMAP_MINOR_VERSION 20)
|
SET(RTABMAP_MINOR_VERSION 21)
|
||||||
SET(RTABMAP_PATCH_VERSION 23)
|
SET(RTABMAP_PATCH_VERSION 0)
|
||||||
SET(RTABMAP_VERSION
|
SET(RTABMAP_VERSION
|
||||||
${RTABMAP_MAJOR_VERSION}.${RTABMAP_MINOR_VERSION}.${RTABMAP_PATCH_VERSION})
|
${RTABMAP_MAJOR_VERSION}.${RTABMAP_MINOR_VERSION}.${RTABMAP_PATCH_VERSION})
|
||||||
|
|
||||||
@@ -296,10 +296,7 @@ IF(WITH_QT)
|
|||||||
# look for Qt5 (if vtk>5 is installed) before Qt4
|
# look for Qt5 (if vtk>5 is installed) before Qt4
|
||||||
IF("${VTK_MAJOR_VERSION}" GREATER 5)
|
IF("${VTK_MAJOR_VERSION}" GREATER 5)
|
||||||
if(RTABMAP_QT_VERSION STREQUAL "AUTO" OR RTABMAP_QT_VERSION STREQUAL "5")
|
if(RTABMAP_QT_VERSION STREQUAL "AUTO" OR RTABMAP_QT_VERSION STREQUAL "5")
|
||||||
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui PrintSupport QUIET)
|
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui PrintSupport OpenGL OPTIONAL_COMPONENTS Svg)
|
||||||
IF(Qt5_FOUND)
|
|
||||||
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui PrintSupport OPTIONAL_COMPONENTS Svg)
|
|
||||||
ENDIF(Qt5_FOUND)
|
|
||||||
ENDIF(RTABMAP_QT_VERSION STREQUAL "AUTO" OR RTABMAP_QT_VERSION STREQUAL "5")
|
ENDIF(RTABMAP_QT_VERSION STREQUAL "AUTO" OR RTABMAP_QT_VERSION STREQUAL "5")
|
||||||
ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
|
ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
|
||||||
|
|
||||||
@@ -823,11 +820,6 @@ ENDIF(APPLE AND BUILD_AS_BUNDLE)
|
|||||||
|
|
||||||
####### SOURCES (Projects) #######
|
####### SOURCES (Projects) #######
|
||||||
|
|
||||||
# CONF_DEPENDENCIES contains only dependencies not required by the headers
|
|
||||||
SET(CONF_DEPENDENCIES
|
|
||||||
${ZLIB_LIBRARIES}
|
|
||||||
)
|
|
||||||
|
|
||||||
# OpenCV2 has nonfree if OPENCV_NONFREE_FOUND
|
# OpenCV2 has nonfree if OPENCV_NONFREE_FOUND
|
||||||
# OpenCV<=3.4.2 has nonfree if OPENCV_XFEATURES2D_FOUND
|
# OpenCV<=3.4.2 has nonfree if OPENCV_XFEATURES2D_FOUND
|
||||||
# OpenCV>3.4.2 has nonfree if OPENCV_XFEATURES2D_FOUND and OPENCV_ENABLE_NONFREE is defined
|
# OpenCV>3.4.2 has nonfree if OPENCV_XFEATURES2D_FOUND and OPENCV_ENABLE_NONFREE is defined
|
||||||
@@ -848,15 +840,12 @@ IF(NOT G2O_FOUND)
|
|||||||
SET(G2O "//")
|
SET(G2O "//")
|
||||||
SET(G2O_CPP_CONF "//")
|
SET(G2O_CPP_CONF "//")
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${G2O_LIBRARIES})
|
|
||||||
IF(NOT G2O_CPP11)
|
IF(NOT G2O_CPP11)
|
||||||
SET(G2O_CPP_CONF "//")
|
SET(G2O_CPP_CONF "//")
|
||||||
ENDIF(NOT G2O_CPP11)
|
ENDIF(NOT G2O_CPP11)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT GTSAM_FOUND)
|
IF(NOT GTSAM_FOUND)
|
||||||
SET(GTSAM "//")
|
SET(GTSAM "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${GTSAM_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT MRPT_FOUND)
|
IF(NOT MRPT_FOUND)
|
||||||
SET(MRPT "//")
|
SET(MRPT "//")
|
||||||
@@ -872,8 +861,6 @@ IF(NOT WITH_VERTIGO)
|
|||||||
ENDIF(NOT WITH_VERTIGO)
|
ENDIF(NOT WITH_VERTIGO)
|
||||||
IF(NOT cvsba_FOUND)
|
IF(NOT cvsba_FOUND)
|
||||||
SET(CVSBA "//")
|
SET(CVSBA "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${cvsba_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT libpointmatcher_FOUND)
|
IF(NOT libpointmatcher_FOUND)
|
||||||
SET(POINTMATCHER "//")
|
SET(POINTMATCHER "//")
|
||||||
@@ -901,61 +888,61 @@ IF(NOT floam_FOUND)
|
|||||||
ENDIF(NOT floam_FOUND)
|
ENDIF(NOT floam_FOUND)
|
||||||
IF(NOT Freenect_FOUND)
|
IF(NOT Freenect_FOUND)
|
||||||
SET(FREENECT "//")
|
SET(FREENECT "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${Freenect_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT freenect2_FOUND)
|
IF(NOT freenect2_FOUND)
|
||||||
SET(FREENECT2 "//")
|
SET(FREENECT2 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${freenect2_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT KinectSDK2_FOUND)
|
IF(NOT KinectSDK2_FOUND)
|
||||||
SET(K4W2 "//")
|
SET(K4W2 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${KinectSDK2_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT k4a_FOUND)
|
IF(NOT k4a_FOUND)
|
||||||
SET(K4A "//")
|
SET(K4A "//")
|
||||||
|
SET(CONF_WITH_K4A 0)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${k4a_LIBRARIES})
|
SET(CONF_WITH_K4A 1)
|
||||||
|
IF(WIN32)
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindK4A.cmake"
|
||||||
|
DESTINATION ${INSTALL_CMAKE_DIR}/Modules/.
|
||||||
|
COMPONENT devel
|
||||||
|
)
|
||||||
|
ENDIF(WIN32)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT OpenNI2_FOUND)
|
IF(NOT OpenNI2_FOUND)
|
||||||
SET(OPENNI2 "//")
|
SET(OPENNI2 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${OpenNI2_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT DC1394_FOUND)
|
IF(NOT DC1394_FOUND)
|
||||||
SET(DC1394 "//")
|
SET(DC1394 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${DC1394_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT FlyCapture2_FOUND)
|
IF(NOT FlyCapture2_FOUND)
|
||||||
SET(FLYCAPTURE2 "//")
|
SET(FLYCAPTURE2 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${FlyCapture2_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT ZED_FOUND)
|
IF(NOT ZED_FOUND)
|
||||||
SET(ZED "//")
|
SET(ZED "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${ZED_LIBRARIES} ${CUDA_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT ZEDOC_FOUND)
|
IF(NOT ZEDOC_FOUND)
|
||||||
SET(ZEDOC "//")
|
SET(ZEDOC "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${ZEDOC_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT RealSense_FOUND)
|
IF(NOT RealSense_FOUND)
|
||||||
SET(REALSENSE "//")
|
SET(REALSENSE "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${RealSense_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT RealSenseSlam_FOUND)
|
IF(NOT RealSenseSlam_FOUND)
|
||||||
SET(REALSENSESLAM "//")
|
SET(REALSENSESLAM "//")
|
||||||
ENDIF(NOT RealSenseSlam_FOUND)
|
ENDIF(NOT RealSenseSlam_FOUND)
|
||||||
IF(NOT realsense2_FOUND)
|
IF(NOT realsense2_FOUND)
|
||||||
SET(REALSENSE2 "//")
|
SET(REALSENSE2 "//")
|
||||||
|
SET(CONF_WITH_REALSENSE2 0)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${realsense2_LIBRARIES})
|
SET(CONF_WITH_REALSENSE2 1)
|
||||||
|
IF(WIN32)
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindRealSense2.cmake"
|
||||||
|
DESTINATION ${INSTALL_CMAKE_DIR}/Modules/.
|
||||||
|
COMPONENT devel
|
||||||
|
)
|
||||||
|
ENDIF(WIN32)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT mynteye_FOUND)
|
IF(NOT mynteye_FOUND)
|
||||||
SET(MYNTEYE "//")
|
SET(MYNTEYE "//")
|
||||||
@@ -965,65 +952,45 @@ IF(NOT depthai_FOUND)
|
|||||||
SET(DEPTHAI "//")
|
SET(DEPTHAI "//")
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_DEPTH_AI ON)
|
SET(CONF_DEPTH_AI ON)
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} depthai::core depthai::opencv)
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT octomap_FOUND)
|
IF(NOT octomap_FOUND)
|
||||||
SET(OCTOMAP "//")
|
SET(OCTOMAP "//")
|
||||||
|
SET(CONF_WITH_OCTOMAP 0)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${OCTOMAP_LIBRARIES})
|
SET(CONF_WITH_OCTOMAP 1)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT CPUTSDF_FOUND)
|
IF(NOT CPUTSDF_FOUND)
|
||||||
SET(CPUTSDF "//")
|
SET(CPUTSDF "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${CPUTSDF_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT open_chisel_FOUND)
|
IF(NOT open_chisel_FOUND)
|
||||||
SET(OPENCHISEL "//")
|
SET(OPENCHISEL "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${open_chisel_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT AliceVision_FOUND)
|
IF(NOT AliceVision_FOUND)
|
||||||
SET(ALICE_VISION "//")
|
SET(ALICE_VISION "//")
|
||||||
ENDIF(NOT AliceVision_FOUND)
|
ENDIF(NOT AliceVision_FOUND)
|
||||||
IF(NOT libfovis_FOUND)
|
IF(NOT libfovis_FOUND)
|
||||||
SET(FOVIS "//")
|
SET(FOVIS "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${libfovis_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT libviso2_FOUND)
|
IF(NOT libviso2_FOUND)
|
||||||
SET(VISO2 "//")
|
SET(VISO2 "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${libviso2_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT dvo_core_FOUND)
|
IF(NOT dvo_core_FOUND)
|
||||||
SET(DVO "//")
|
SET(DVO "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${dvo_core_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT okvis_FOUND)
|
IF(NOT okvis_FOUND)
|
||||||
SET(OKVIS "//")
|
SET(OKVIS "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${OKVIS_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT msckf_vio_FOUND)
|
IF(NOT msckf_vio_FOUND)
|
||||||
SET(MSCKF_VIO "//")
|
SET(MSCKF_VIO "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${msckf_vio_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT vins_FOUND)
|
IF(NOT vins_FOUND)
|
||||||
SET(VINS "//")
|
SET(VINS "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${vins_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT ov_msckf_FOUND)
|
IF(NOT ov_msckf_FOUND)
|
||||||
SET(OPENVINS "//")
|
SET(OPENVINS "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${ov_msckf_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT ORB_SLAM_FOUND)
|
IF(NOT ORB_SLAM_FOUND)
|
||||||
SET(ORB_SLAM "//")
|
SET(ORB_SLAM "//")
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${ORB_SLAM_LIBRARIES})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(NOT WITH_ORB_OCTREE)
|
IF(NOT WITH_ORB_OCTREE)
|
||||||
SET(ORB_OCTREE "//")
|
SET(ORB_OCTREE "//")
|
||||||
@@ -1036,22 +1003,16 @@ IF(NOT WITH_PYTHON OR NOT Python3_FOUND)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
IF(ADD_VTK_GUI_SUPPORT_QT_TO_CONF)
|
IF(ADD_VTK_GUI_SUPPORT_QT_TO_CONF)
|
||||||
SET(CONF_VTK_QT true)
|
SET(CONF_VTK_QT true)
|
||||||
IF("${VTK_MAJOR_VERSION}" GREATER 8)
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} VTK::GUISupportQt)
|
|
||||||
ELSE()
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} vtkGUISupportQt)
|
|
||||||
ENDIF()
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CONF_VTK_QT false)
|
SET(CONF_VTK_QT false)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(VTK_USE_QVTK)
|
|
||||||
SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${QVTK_LIBRARY})
|
|
||||||
ENDIF(VTK_USE_QVTK)
|
|
||||||
IF(NOT WITH_MADGWICK)
|
IF(NOT WITH_MADGWICK)
|
||||||
SET(MADGWICK "//")
|
SET(MADGWICK "//")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
CONFIGURE_FILE(Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/corelib/include/${PROJECT_PREFIX}/core/Version.h)
|
CONFIGURE_FILE(Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/corelib/src/include/${PROJECT_PREFIX}/core/Version.h)
|
||||||
|
|
||||||
|
include(GenerateExportHeader)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY( utilite )
|
ADD_SUBDIRECTORY( utilite )
|
||||||
ADD_SUBDIRECTORY( corelib )
|
ADD_SUBDIRECTORY( corelib )
|
||||||
@@ -1088,18 +1049,9 @@ ADD_CUSTOM_TARGET(uninstall
|
|||||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||||
|
|
||||||
####
|
####
|
||||||
# Setup RTABMapConfig.cmake
|
# Global Export Target
|
||||||
####
|
####
|
||||||
# Create the RTABMapConfig.cmake and RTABMapConfigVersion files
|
add_library(rtabmap INTERFACE)
|
||||||
file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR}")
|
|
||||||
file(RELATIVE_PATH REL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
|
||||||
|
|
||||||
# ... for the build tree
|
|
||||||
set(CONF_INCLUDE_DIRS "${PROJECT_BINARY_DIR}/corelib/include"
|
|
||||||
"${PROJECT_SOURCE_DIR}/corelib/include"
|
|
||||||
"${PROJECT_SOURCE_DIR}/guilib/include"
|
|
||||||
"${PROJECT_SOURCE_DIR}/utilite/include")
|
|
||||||
set(CONF_LIB_DIR "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
|
|
||||||
IF(QT4_FOUND OR Qt5_FOUND)
|
IF(QT4_FOUND OR Qt5_FOUND)
|
||||||
set(CONF_WITH_GUI ON)
|
set(CONF_WITH_GUI ON)
|
||||||
IF(QT4_FOUND)
|
IF(QT4_FOUND)
|
||||||
@@ -1107,36 +1059,69 @@ IF(QT4_FOUND OR Qt5_FOUND)
|
|||||||
ELSE()
|
ELSE()
|
||||||
set(CONF_QT_VERSION 5)
|
set(CONF_QT_VERSION 5)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
target_link_libraries(rtabmap INTERFACE rtabmap_utilite rtabmap_core rtabmap_gui)
|
||||||
ELSE()
|
ELSE()
|
||||||
set(CONF_WITH_GUI OFF)
|
set(CONF_WITH_GUI OFF)
|
||||||
|
target_link_libraries(rtabmap INTERFACE rtabmap_utilite rtabmap_core)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
configure_file(RTABMapConfig.cmake.in
|
install(TARGETS rtabmap EXPORT rtabmapTargets)
|
||||||
"${PROJECT_BINARY_DIR}/RTABMapConfig.cmake" @ONLY)
|
export(EXPORT rtabmapTargets
|
||||||
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
|
||||||
|
)
|
||||||
|
install(EXPORT rtabmapTargets
|
||||||
|
FILE
|
||||||
|
${PROJECT_NAME}Targets.cmake
|
||||||
|
DESTINATION
|
||||||
|
${INSTALL_CMAKE_DIR}
|
||||||
|
COMPONENT
|
||||||
|
devel
|
||||||
|
)
|
||||||
|
|
||||||
# ... for the install tree
|
####
|
||||||
set(CONF_INCLUDE_DIRS "\${RTABMap_CMAKE_DIR}/${REL_INCLUDE_DIR}")
|
# Setup RTABMapConfig.cmake
|
||||||
set(CONF_LIB_DIR "\${RTABMap_CMAKE_DIR}/${REL_LIB_DIR}")
|
####
|
||||||
configure_file(RTABMapConfig.cmake.in
|
include(CMakePackageConfigHelpers)
|
||||||
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/RTABMapConfig.cmake" @ONLY)
|
write_basic_package_version_file(
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||||
|
VERSION ${PROJECT_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion
|
||||||
|
)
|
||||||
|
|
||||||
# ... for both
|
# Build tree:
|
||||||
configure_file(RTABMapConfigVersion.cmake.in
|
SET(CONF_MODULES_DIR "../cmake_modules")
|
||||||
"${PROJECT_BINARY_DIR}/RTABMapConfigVersion.cmake" @ONLY)
|
configure_file(
|
||||||
|
${PROJECT_NAME}Config.cmake.in
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install tree:
|
||||||
|
SET(CONF_MODULES_DIR "Modules")
|
||||||
|
configure_file(
|
||||||
|
${PROJECT_NAME}Config.cmake.in
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake"
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||||
|
DESTINATION
|
||||||
|
${INSTALL_CMAKE_DIR}
|
||||||
|
COMPONENT
|
||||||
|
devel
|
||||||
|
)
|
||||||
|
|
||||||
# Install the RTABMapConfig.cmake and RTABMapConfigVersion.cmake
|
|
||||||
install(FILES
|
|
||||||
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/RTABMapConfig.cmake"
|
|
||||||
"${PROJECT_BINARY_DIR}/RTABMapConfigVersion.cmake"
|
|
||||||
DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT devel)
|
|
||||||
####
|
####
|
||||||
|
|
||||||
### Install package.xml for catkin
|
### Install package.xml for catkin
|
||||||
install(FILES package.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_PREFIX}")
|
install(FILES package.xml DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_PREFIX}" COMPONENT devel)
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# CPACK (Packaging)
|
# CPACK (Packaging)
|
||||||
#######################
|
#######################
|
||||||
IF(BUILD_AS_BUNDLE)
|
IF(BUILD_AS_BUNDLE)
|
||||||
|
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT runtime)
|
||||||
INCLUDE(InstallRequiredSystemLibraries)
|
INCLUDE(InstallRequiredSystemLibraries)
|
||||||
ENDIF(BUILD_AS_BUNDLE)
|
ENDIF(BUILD_AS_BUNDLE)
|
||||||
|
|
||||||
@@ -1153,6 +1138,7 @@ SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
|||||||
#SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
#SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||||
SET(CPACK_PACKAGE_CONTACT "matlabbe@gmail.com")
|
SET(CPACK_PACKAGE_CONTACT "matlabbe@gmail.com")
|
||||||
|
|
||||||
|
|
||||||
set(CPACK_SOURCE_IGNORE_FILES
|
set(CPACK_SOURCE_IGNORE_FILES
|
||||||
"\\\\.svn/"
|
"\\\\.svn/"
|
||||||
"\\\\.settings/"
|
"\\\\.settings/"
|
||||||
@@ -1557,7 +1543,11 @@ MESSAGE(STATUS " With RealSense = NO (librealsense not found)")
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(realsense2_FOUND)
|
IF(realsense2_FOUND)
|
||||||
|
IF(WIN32)
|
||||||
|
MESSAGE(STATUS " With RealSense2 = YES (License: Apache-2)")
|
||||||
|
ELSE()
|
||||||
MESSAGE(STATUS " With RealSense2 ${realsense2_VERSION} = YES (License: Apache-2)")
|
MESSAGE(STATUS " With RealSense2 ${realsense2_VERSION} = YES (License: Apache-2)")
|
||||||
|
ENDIF()
|
||||||
ELSEIF(NOT WITH_REALSENSE2)
|
ELSEIF(NOT WITH_REALSENSE2)
|
||||||
MESSAGE(STATUS " With RealSense2 = NO (WITH_REALSENSE2=OFF)")
|
MESSAGE(STATUS " With RealSense2 = NO (WITH_REALSENSE2=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
|
|||||||
@@ -1,99 +1,78 @@
|
|||||||
# - Config file for the RTABMap package
|
include(CMakeFindDependencyMacro)
|
||||||
# Components:
|
find_dependency(OpenCV)
|
||||||
# core (required)
|
find_dependency(PCL 1.7)
|
||||||
# gui (optional)
|
|
||||||
# utilite (required)
|
|
||||||
# It defines the following variables
|
|
||||||
# RTABMap_INCLUDE_DIRS - include directories for RTABMap
|
|
||||||
# RTABMap_LIBRARIES - libraries to link against
|
|
||||||
# RTABMap_CORE - core library
|
|
||||||
# RTABMap_UTILITE - utilite library
|
|
||||||
# RTABMap_GUI - gui library (set if RTABMap is built with Qt)
|
|
||||||
|
|
||||||
# Compute paths
|
IF(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@CONF_MODULES_DIR@")
|
||||||
get_filename_component(RTABMap_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/@CONF_MODULES_DIR@")
|
||||||
set(RTABMap_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
|
|
||||||
|
|
||||||
#core lib
|
|
||||||
find_library(RTABMap_CORE_RELEASE NAMES rtabmap_core NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
|
||||||
find_library(RTABMap_CORE_DEBUG NAMES rtabmap_cored NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
|
||||||
|
|
||||||
IF(RTABMap_CORE_DEBUG AND RTABMap_CORE_RELEASE)
|
|
||||||
SET(RTABMap_CORE
|
|
||||||
debug ${RTABMap_CORE_DEBUG}
|
|
||||||
optimized ${RTABMap_CORE_RELEASE}
|
|
||||||
)
|
|
||||||
ELSEIF(RTABMap_CORE_DEBUG)
|
|
||||||
SET(RTABMap_CORE ${RTABMap_CORE_DEBUG})
|
|
||||||
ELSE()
|
|
||||||
SET(RTABMap_CORE ${RTABMap_CORE_RELEASE})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
#utilite lib
|
IF(@CONF_WITH_REALSENSE2@)
|
||||||
find_library(RTABMap_UTILITE_RELEASE NAMES rtabmap_utilite NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
IF(WIN32)
|
||||||
find_library(RTABMap_UTILITE_DEBUG NAMES rtabmap_utilited NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
find_dependency(RealSense2)
|
||||||
|
ELSE()
|
||||||
IF(RTABMap_UTILITE_DEBUG AND RTABMap_UTILITE_RELEASE)
|
find_dependency(realsense2)
|
||||||
SET(RTABMap_UTILITE
|
ENDIF()
|
||||||
debug ${RTABMap_UTILITE_DEBUG}
|
|
||||||
optimized ${RTABMap_UTILITE_RELEASE}
|
|
||||||
)
|
|
||||||
ELSEIF(RTABMap_UTILITE_DEBUG)
|
|
||||||
SET(RTABMap_UTILITE ${RTABMap_UTILITE_DEBUG})
|
|
||||||
ELSE()
|
|
||||||
SET(RTABMap_UTILITE ${RTABMap_UTILITE_RELEASE})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
set(RTABMap_LIBRARIES ${RTABMap_CORE} ${RTABMap_UTILITE})
|
IF(@CONF_WITH_K4A@)
|
||||||
|
IF(WIN32)
|
||||||
|
find_dependency(K4A)
|
||||||
|
ELSE()
|
||||||
|
find_dependency(k4a)
|
||||||
|
find_dependency(k4arecord)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
list(LENGTH RTABMap_FIND_COMPONENTS RTABMap_FIND_COMPONENTS_LENGTH)
|
IF(@CONF_WITH_OCTOMAP@)
|
||||||
set(WITH_GUI ON)
|
find_dependency(octomap)
|
||||||
if(${RTABMap_FIND_COMPONENTS_LENGTH} GREATER 0)
|
ENDIF()
|
||||||
list (FIND RTABMap_FIND_COMPONENTS "gui" _index)
|
|
||||||
if (${_index} EQUAL -1)
|
|
||||||
set(WITH_GUI OFF)
|
|
||||||
endif()
|
|
||||||
endif(${RTABMap_FIND_COMPONENTS_LENGTH} GREATER 0)
|
|
||||||
|
|
||||||
|
set(RTABMap_DEFINITIONS ${PCL_DEFINITIONS})
|
||||||
|
|
||||||
#gui lib (OFF if RTAB-Map is not built with Qt)
|
# Provide those for backward compatibilities (e.g., catkin requires them to propagate dependencies)
|
||||||
if(@CONF_WITH_GUI@ AND ${WITH_GUI})
|
set(RTABMap_INCLUDE_DIRS "")
|
||||||
find_library(RTABMap_GUI_RELEASE NAMES rtabmap_gui NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
set(RTABMap_LIBRARIES "")
|
||||||
find_library(RTABMap_GUI_DEBUG NAMES rtabmap_guid NO_DEFAULT_PATH HINTS @CONF_LIB_DIR@)
|
|
||||||
|
|
||||||
IF(RTABMap_GUI_DEBUG AND RTABMap_GUI_RELEASE)
|
set(_RTABMap_supported_components utilite core gui)
|
||||||
SET(RTABMap_GUI
|
|
||||||
debug ${RTABMap_GUI_DEBUG}
|
|
||||||
optimized ${RTABMap_GUI_RELEASE}
|
|
||||||
)
|
|
||||||
ELSEIF(RTABMap_GUI_RELEASE)
|
|
||||||
SET(RTABMap_GUI ${RTABMap_GUI_RELEASE})
|
|
||||||
ELSEIF(RTABMap_GUI_DEBUG)
|
|
||||||
SET(RTABMap_GUI ${RTABMap_GUI_DEBUG})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
set(RTABMap_LIBRARIES ${RTABMap_LIBRARIES} ${RTABMap_GUI})
|
foreach(_comp ${_RTABMap_supported_components})
|
||||||
elseif(${WITH_GUI})
|
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/RTABMap_${_comp}Targets.cmake")
|
||||||
MESSAGE(WARNING "Asked for \"gui\" module but RTABMap hasn't been built with gui support.")
|
if (${_comp} STREQUAL "gui")
|
||||||
endif()
|
if(@CONF_QT_VERSION@ EQUAL 5)
|
||||||
|
find_dependency(Qt5 COMPONENTS Widgets Core Gui PrintSupport OpenGL OPTIONAL_COMPONENTS Svg)
|
||||||
|
else() # Qt4
|
||||||
|
find_dependency(Qt4 COMPONENTS QtCore QtGui OPTIONAL_COMPONENTS QtSvg)
|
||||||
|
endif()
|
||||||
|
set(RTABMap_QT_VERSION @CONF_QT_VERSION@)
|
||||||
|
endif()
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/RTABMap_${_comp}Targets.cmake")
|
||||||
|
set(RTABMap_${_comp}_FOUND True)
|
||||||
|
get_target_property(RTABMap_${_comp}_INCLUDE_DIRS rtabmap_${_comp} INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
|
get_target_property(RTABMap_${_comp}_LIBRARIES rtabmap_${_comp} INTERFACE_LINK_LIBRARIES)
|
||||||
|
set(RTABMap_INCLUDE_DIRS
|
||||||
|
${RTABMap_INCLUDE_DIRS}
|
||||||
|
${RTABMap_${_comp}_INCLUDE_DIRS})
|
||||||
|
set(RTABMap_LIBRARIES
|
||||||
|
${RTABMap_LIBRARIES}
|
||||||
|
rtabmap_${_comp})
|
||||||
|
if(RTABMap_${_comp}_LIBRARIES)
|
||||||
|
set(RTABMap_LIBRARIES
|
||||||
|
${RTABMap_LIBRARIES}
|
||||||
|
${RTABMap_${_comp}_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(RTABMap_${_comp}_FOUND False)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# Dependencies
|
include("${CMAKE_CURRENT_LIST_DIR}/RTABMapTargets.cmake")
|
||||||
if(@CONF_VTK_QT@ AND ${WITH_GUI})
|
|
||||||
find_package(VTK COMPONENTS vtkGUISupportQt NO_MODULE) # to define vtkGUISupportQt target
|
|
||||||
endif(@CONF_VTK_QT@ AND ${WITH_GUI})
|
|
||||||
if(@CONF_DEPTH_AI@)
|
|
||||||
FIND_PACKAGE(depthai 2 QUIET REQUIRED)
|
|
||||||
endif(@CONF_DEPTH_AI@)
|
|
||||||
SET(RTABMap_LIBRARIES ${RTABMap_LIBRARIES} "@CONF_DEPENDENCIES@")
|
|
||||||
|
|
||||||
#backward compatibilities
|
foreach(_comp ${RTABMap_FIND_COMPONENTS})
|
||||||
set(RTABMAP_CORE ${RTABMap_CORE})
|
if (NOT ";${_RTABMap_supported_components};" MATCHES ";${_comp};")
|
||||||
set(RTABMAP_UTILITE ${RTABMap_UTILITE})
|
set(RTABMap_${_comp}_FOUND False)
|
||||||
if(RTABMap_GUI)
|
if(${RTABMap_FIND_REQUIRED_${_comp}})
|
||||||
set(RTABMAP_GUI ${RTABMap_GUI})
|
set(RTABMap_FOUND False)
|
||||||
set(RTABMAP_QT_VERSION @CONF_QT_VERSION@)
|
set(RTABMap_NOT_FOUND_MESSAGE "Unsupported or not found required component: ${_comp}")
|
||||||
endif(RTABMap_GUI)
|
endif()
|
||||||
|
endif()
|
||||||
include(FindPackageHandleStandardArgs)
|
endforeach()
|
||||||
find_package_handle_standard_args(RTABMap DEFAULT_MSG RTABMap_LIBRARIES RTABMap_INCLUDE_DIRS)
|
|
||||||
mark_as_advanced(RTABMap_LIBRARIES RTABMap_INCLUDE_DIRS RTABMap_LIBRARY_DIRS)
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
set(PACKAGE_VERSION "@RTABMAP_VERSION@")
|
|
||||||
|
|
||||||
# Check whether the requested PACKAGE_FIND_VERSION is compatible
|
|
||||||
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
else()
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
||||||
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
|
|
||||||
set(PACKAGE_VERSION_EXACT TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@@ -3,32 +3,6 @@ SET(SRC_FILES
|
|||||||
main.cpp
|
main.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(INCLUDE_DIRS
|
|
||||||
${PROJECT_BINARY_DIR}/corelib/include
|
|
||||||
${PROJECT_SOURCE_DIR}/utilite/include
|
|
||||||
${PROJECT_SOURCE_DIR}/corelib/include
|
|
||||||
${PROJECT_SOURCE_DIR}/guilib/include
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
${OpenCV_INCLUDE_DIRS}
|
|
||||||
${PCL_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(QT4_FOUND)
|
|
||||||
INCLUDE(${QT_USE_FILE})
|
|
||||||
ENDIF(QT4_FOUND)
|
|
||||||
|
|
||||||
SET(LIBRARIES
|
|
||||||
${QT_LIBRARIES}
|
|
||||||
${OpenCV_LIBS}
|
|
||||||
${PCL_LIBRARIES}
|
|
||||||
)
|
|
||||||
|
|
||||||
# rc.exe has problems with these defintions... commented!
|
|
||||||
#add_definitions(${PCL_DEFINITIONS})
|
|
||||||
|
|
||||||
# Make sure the compiler can find include files from our library.
|
|
||||||
INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
|
|
||||||
|
|
||||||
# For Apple set the icns file containing icons
|
# For Apple set the icns file containing icons
|
||||||
IF(APPLE AND BUILD_AS_BUNDLE)
|
IF(APPLE AND BUILD_AS_BUNDLE)
|
||||||
# set how it shows up in the Info.plist file
|
# set how it shows up in the Info.plist file
|
||||||
@@ -54,36 +28,29 @@ ENDIF(WIN32)
|
|||||||
|
|
||||||
# Add binary
|
# Add binary
|
||||||
IF(APPLE AND BUILD_AS_BUNDLE)
|
IF(APPLE AND BUILD_AS_BUNDLE)
|
||||||
ADD_EXECUTABLE(rtabmap MACOSX_BUNDLE ${SRC_FILES})
|
ADD_EXECUTABLE(rtabmap_app MACOSX_BUNDLE ${SRC_FILES})
|
||||||
ELSEIF(MINGW)
|
ELSEIF(MINGW)
|
||||||
ADD_EXECUTABLE(rtabmap WIN32 ${SRC_FILES})
|
ADD_EXECUTABLE(rtabmap_app WIN32 ${SRC_FILES})
|
||||||
ELSE()
|
ELSE()
|
||||||
ADD_EXECUTABLE(rtabmap ${SRC_FILES})
|
ADD_EXECUTABLE(rtabmap_app ${SRC_FILES})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
TARGET_LINK_LIBRARIES(rtabmap rtabmap_core rtabmap_gui rtabmap_utilite ${LIBRARIES})
|
TARGET_LINK_LIBRARIES(rtabmap_app rtabmap_gui)
|
||||||
IF(Qt5_FOUND)
|
|
||||||
IF(Qt5Svg_FOUND)
|
|
||||||
QT5_USE_MODULES(rtabmap Widgets Core Gui Svg PrintSupport)
|
|
||||||
ELSE()
|
|
||||||
QT5_USE_MODULES(rtabmap Widgets Core Gui PrintSupport)
|
|
||||||
ENDIF()
|
|
||||||
ENDIF(Qt5_FOUND)
|
|
||||||
|
|
||||||
IF(APPLE AND BUILD_AS_BUNDLE)
|
IF(APPLE AND BUILD_AS_BUNDLE)
|
||||||
SET_TARGET_PROPERTIES(rtabmap PROPERTIES
|
SET_TARGET_PROPERTIES(rtabmap_app PROPERTIES
|
||||||
OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
|
OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
|
||||||
ELSEIF(WIN32)
|
ELSEIF(WIN32)
|
||||||
SET_TARGET_PROPERTIES(rtabmap PROPERTIES
|
SET_TARGET_PROPERTIES(rtabmap_app PROPERTIES
|
||||||
OUTPUT_NAME ${PROJECT_NAME})
|
OUTPUT_NAME ${PROJECT_NAME})
|
||||||
ELSE()
|
ELSE()
|
||||||
SET_TARGET_PROPERTIES(rtabmap PROPERTIES
|
SET_TARGET_PROPERTIES(rtabmap_app PROPERTIES
|
||||||
OUTPUT_NAME ${PROJECT_PREFIX})
|
OUTPUT_NAME ${PROJECT_PREFIX})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
#---------------------------
|
#---------------------------
|
||||||
# Installation stuff
|
# Installation stuff
|
||||||
#---------------------------
|
#---------------------------
|
||||||
INSTALL(TARGETS rtabmap
|
INSTALL(TARGETS rtabmap_app
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT runtime
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT runtime
|
||||||
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" COMPONENT runtime)
|
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" COMPONENT runtime)
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef BAYESFILTER_H_
|
#ifndef BAYESFILTER_H_
|
||||||
#define BAYESFILTER_H_
|
#define BAYESFILTER_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <list>
|
#include <list>
|
||||||
@@ -41,7 +41,7 @@ namespace rtabmap {
|
|||||||
class Memory;
|
class Memory;
|
||||||
class Signature;
|
class Signature;
|
||||||
|
|
||||||
class RTABMAP_EXP BayesFilter
|
class RTABMAP_CORE_EXPORT BayesFilter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BayesFilter(const ParametersMap & parameters = ParametersMap());
|
BayesFilter(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/highgui/highgui.hpp>
|
#include <opencv2/highgui/highgui.hpp>
|
||||||
#include "rtabmap/core/SensorData.h"
|
#include "rtabmap/core/SensorData.h"
|
||||||
@@ -47,7 +47,7 @@ namespace rtabmap
|
|||||||
* Class Camera
|
* Class Camera
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP Camera
|
class RTABMAP_CORE_EXPORT Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~Camera();
|
virtual ~Camera();
|
||||||
|
|||||||
@@ -30,12 +30,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include <opencv2/opencv.hpp>
|
#include <opencv2/opencv.hpp>
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
#include "rtabmap/core/Transform.h"
|
#include "rtabmap/core/Transform.h"
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP CameraModel
|
class RTABMAP_CORE_EXPORT CameraModel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@@ -159,7 +159,7 @@ private:
|
|||||||
Transform localTransform_;
|
Transform localTransform_;
|
||||||
};
|
};
|
||||||
|
|
||||||
RTABMAP_EXP std::ostream& operator<<(std::ostream& os, const CameraModel& model);
|
RTABMAP_CORE_EXPORT std::ostream& operator<<(std::ostream& os, const CameraModel& model);
|
||||||
|
|
||||||
} /* namespace rtabmap */
|
} /* namespace rtabmap */
|
||||||
#endif /* CAMERAMODEL_H_ */
|
#endif /* CAMERAMODEL_H_ */
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
@@ -52,7 +52,7 @@ class IMUFilter;
|
|||||||
* Class CameraThread
|
* Class CameraThread
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP CameraThread :
|
class RTABMAP_CORE_EXPORT CameraThread :
|
||||||
public UThread,
|
public UThread,
|
||||||
public UEventsSender
|
public UEventsSender
|
||||||
{
|
{
|
||||||
@@ -88,7 +88,8 @@ public:
|
|||||||
void enableIMUFiltering(int filteringStrategy=1, const ParametersMap & parameters = ParametersMap(), bool baseFrameConversion = false);
|
void enableIMUFiltering(int filteringStrategy=1, const ParametersMap & parameters = ParametersMap(), bool baseFrameConversion = false);
|
||||||
void disableIMUFiltering();
|
void disableIMUFiltering();
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(void setScanParameters(
|
// Use new version of this function with groundNormalsUp=0.8 for forceGroundNormalsUp=True and groundNormalsUp=0.0 for forceGroundNormalsUp=False.
|
||||||
|
RTABMAP_DEPRECATED void setScanParameters(
|
||||||
bool fromDepth,
|
bool fromDepth,
|
||||||
int downsampleStep, // decimation of the depth image in case the scan is from depth image
|
int downsampleStep, // decimation of the depth image in case the scan is from depth image
|
||||||
float rangeMin,
|
float rangeMin,
|
||||||
@@ -96,7 +97,7 @@ public:
|
|||||||
float voxelSize,
|
float voxelSize,
|
||||||
int normalsK,
|
int normalsK,
|
||||||
int normalsRadius,
|
int normalsRadius,
|
||||||
bool forceGroundNormalsUp) , "Use new version of this function with groundNormalsUp=0.8 for forceGroundNormalsUp=True and groundNormalsUp=0.0 for forceGroundNormalsUp=False.");
|
bool forceGroundNormalsUp);
|
||||||
void setScanParameters(
|
void setScanParameters(
|
||||||
bool fromDepth,
|
bool fromDepth,
|
||||||
int downsampleStep=1, // decimation of the depth image in case the scan is from depth image
|
int downsampleStep=1, // decimation of the depth image in case the scan is from depth image
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef COMPRESSION_H_
|
#ifndef COMPRESSION_H_
|
||||||
#define COMPRESSION_H_
|
#define COMPRESSION_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/utilite/UThread.h>
|
#include <rtabmap/utilite/UThread.h>
|
||||||
#include <opencv2/opencv.hpp>
|
#include <opencv2/opencv.hpp>
|
||||||
@@ -52,7 +52,7 @@ namespace rtabmap {
|
|||||||
* ct.join();
|
* ct.join();
|
||||||
* cv::Mat image = ct.getUncompressedData();
|
* cv::Mat image = ct.getUncompressedData();
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP CompressionThread : public UThread
|
class RTABMAP_CORE_EXPORT CompressionThread : public UThread
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// format : ".png" ".jpg" "" (empty is general)
|
// format : ".png" ".jpg" "" (empty is general)
|
||||||
@@ -70,21 +70,21 @@ private:
|
|||||||
bool compressMode_;
|
bool compressMode_;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<unsigned char> RTABMAP_EXP compressImage(const cv::Mat & image, const std::string & format = ".png");
|
std::vector<unsigned char> RTABMAP_CORE_EXPORT compressImage(const cv::Mat & image, const std::string & format = ".png");
|
||||||
cv::Mat RTABMAP_EXP compressImage2(const cv::Mat & image, const std::string & format = ".png");
|
cv::Mat RTABMAP_CORE_EXPORT compressImage2(const cv::Mat & image, const std::string & format = ".png");
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP uncompressImage(const cv::Mat & bytes);
|
cv::Mat RTABMAP_CORE_EXPORT uncompressImage(const cv::Mat & bytes);
|
||||||
cv::Mat RTABMAP_EXP uncompressImage(const std::vector<unsigned char> & bytes);
|
cv::Mat RTABMAP_CORE_EXPORT uncompressImage(const std::vector<unsigned char> & bytes);
|
||||||
|
|
||||||
std::vector<unsigned char> RTABMAP_EXP compressData(const cv::Mat & data);
|
std::vector<unsigned char> RTABMAP_CORE_EXPORT compressData(const cv::Mat & data);
|
||||||
cv::Mat RTABMAP_EXP compressData2(const cv::Mat & data);
|
cv::Mat RTABMAP_CORE_EXPORT compressData2(const cv::Mat & data);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP uncompressData(const cv::Mat & bytes);
|
cv::Mat RTABMAP_CORE_EXPORT uncompressData(const cv::Mat & bytes);
|
||||||
cv::Mat RTABMAP_EXP uncompressData(const std::vector<unsigned char> & bytes);
|
cv::Mat RTABMAP_CORE_EXPORT uncompressData(const std::vector<unsigned char> & bytes);
|
||||||
cv::Mat RTABMAP_EXP uncompressData(const unsigned char * bytes, unsigned long size);
|
cv::Mat RTABMAP_CORE_EXPORT uncompressData(const unsigned char * bytes, unsigned long size);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP compressString(const std::string & str);
|
cv::Mat RTABMAP_CORE_EXPORT compressString(const std::string & str);
|
||||||
std::string RTABMAP_EXP uncompressString(const cv::Mat & bytes);
|
std::string RTABMAP_CORE_EXPORT uncompressString(const cv::Mat & bytes);
|
||||||
|
|
||||||
} /* namespace rtabmap */
|
} /* namespace rtabmap */
|
||||||
#endif /* COMPRESSION_H_ */
|
#endif /* COMPRESSION_H_ */
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef DBDRIVER_H_
|
#ifndef DBDRIVER_H_
|
||||||
#define DBDRIVER_H_
|
#define DBDRIVER_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <list>
|
#include <list>
|
||||||
@@ -59,7 +59,7 @@ class VisualWord;
|
|||||||
//but never, never try to use the same connection simultaneously in
|
//but never, never try to use the same connection simultaneously in
|
||||||
//two or more threads."
|
//two or more threads."
|
||||||
//
|
//
|
||||||
class RTABMAP_EXP DBDriver : public UThreadNode
|
class RTABMAP_CORE_EXPORT DBDriver : public UThreadNode
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static DBDriver * create(const ParametersMap & parameters = ParametersMap());
|
static DBDriver * create(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef DBDRIVERSQLITE3_H_
|
#ifndef DBDRIVERSQLITE3_H_
|
||||||
#define DBDRIVERSQLITE3_H_
|
#define DBDRIVERSQLITE3_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
#include "rtabmap/core/DBDriver.h"
|
#include "rtabmap/core/DBDriver.h"
|
||||||
#include <opencv2/features2d/features2d.hpp>
|
#include <opencv2/features2d/features2d.hpp>
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ typedef struct sqlite3 sqlite3;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP DBDriverSqlite3: public DBDriver {
|
class RTABMAP_CORE_EXPORT DBDriverSqlite3: public DBDriver {
|
||||||
public:
|
public:
|
||||||
DBDriverSqlite3(const ParametersMap & parameters = ParametersMap());
|
DBDriverSqlite3(const ParametersMap & parameters = ParametersMap());
|
||||||
virtual ~DBDriverSqlite3();
|
virtual ~DBDriverSqlite3();
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef DBREADER_H_
|
#ifndef DBREADER_H_
|
||||||
#define DBREADER_H_
|
#define DBREADER_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/utilite/UTimer.h>
|
#include <rtabmap/utilite/UTimer.h>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
@@ -43,7 +43,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
class DBDriver;
|
class DBDriver;
|
||||||
|
|
||||||
class RTABMAP_EXP DBReader : public Camera {
|
class RTABMAP_CORE_EXPORT DBReader : public Camera {
|
||||||
public:
|
public:
|
||||||
DBReader(const std::string & databasePath,
|
DBReader(const std::string & databasePath,
|
||||||
float frameRate = 0.0f, // -1 = use Database stamps, 0 = inf
|
float frameRate = 0.0f, // -1 = use Database stamps, 0 = inf
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
#include "rtabmap/core/Parameters.h"
|
#include "rtabmap/core/Parameters.h"
|
||||||
#include "rtabmap/utilite/UStl.h"
|
#include "rtabmap/utilite/UStl.h"
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
@@ -42,7 +42,7 @@ namespace rtabmap
|
|||||||
|
|
||||||
class Signature;
|
class Signature;
|
||||||
|
|
||||||
class RTABMAP_EXP EpipolarGeometry
|
class RTABMAP_CORE_EXPORT EpipolarGeometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EpipolarGeometry(const ParametersMap & parameters = ParametersMap());
|
EpipolarGeometry(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef FEATURES2D_H_
|
#ifndef FEATURES2D_H_
|
||||||
#define FEATURES2D_H_
|
#define FEATURES2D_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/highgui/highgui.hpp>
|
#include <opencv2/highgui/highgui.hpp>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
@@ -103,7 +103,7 @@ class CV_ORB;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Feature2D
|
// Feature2D
|
||||||
class RTABMAP_EXP Feature2D {
|
class RTABMAP_CORE_EXPORT Feature2D {
|
||||||
public:
|
public:
|
||||||
enum Type {kFeatureUndef=-1,
|
enum Type {kFeatureUndef=-1,
|
||||||
kFeatureSurf=0,
|
kFeatureSurf=0,
|
||||||
@@ -247,7 +247,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//SURF
|
//SURF
|
||||||
class RTABMAP_EXP SURF : public Feature2D
|
class RTABMAP_CORE_EXPORT SURF : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SURF(const ParametersMap & parameters = ParametersMap());
|
SURF(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -274,7 +274,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//SIFT
|
//SIFT
|
||||||
class RTABMAP_EXP SIFT : public Feature2D
|
class RTABMAP_CORE_EXPORT SIFT : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SIFT(const ParametersMap & parameters = ParametersMap());
|
SIFT(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -298,7 +298,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//ORB
|
//ORB
|
||||||
class RTABMAP_EXP ORB : public Feature2D
|
class RTABMAP_CORE_EXPORT ORB : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ORB(const ParametersMap & parameters = ParametersMap());
|
ORB(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -329,7 +329,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//FAST
|
//FAST
|
||||||
class RTABMAP_EXP FAST : public Feature2D
|
class RTABMAP_CORE_EXPORT FAST : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FAST(const ParametersMap & parameters = ParametersMap());
|
FAST(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -365,7 +365,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//FAST_BRIEF
|
//FAST_BRIEF
|
||||||
class RTABMAP_EXP FAST_BRIEF : public FAST
|
class RTABMAP_CORE_EXPORT FAST_BRIEF : public FAST
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FAST_BRIEF(const ParametersMap & parameters = ParametersMap());
|
FAST_BRIEF(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -384,7 +384,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//FAST_FREAK
|
//FAST_FREAK
|
||||||
class RTABMAP_EXP FAST_FREAK : public FAST
|
class RTABMAP_CORE_EXPORT FAST_FREAK : public FAST
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FAST_FREAK(const ParametersMap & parameters = ParametersMap());
|
FAST_FREAK(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -406,7 +406,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//GFTT
|
//GFTT
|
||||||
class RTABMAP_EXP GFTT : public Feature2D
|
class RTABMAP_CORE_EXPORT GFTT : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GFTT(const ParametersMap & parameters = ParametersMap());
|
GFTT(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -428,7 +428,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//GFTT_BRIEF
|
//GFTT_BRIEF
|
||||||
class RTABMAP_EXP GFTT_BRIEF : public GFTT
|
class RTABMAP_CORE_EXPORT GFTT_BRIEF : public GFTT
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GFTT_BRIEF(const ParametersMap & parameters = ParametersMap());
|
GFTT_BRIEF(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -447,7 +447,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//GFTT_FREAK
|
//GFTT_FREAK
|
||||||
class RTABMAP_EXP GFTT_FREAK : public GFTT
|
class RTABMAP_CORE_EXPORT GFTT_FREAK : public GFTT
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GFTT_FREAK(const ParametersMap & parameters = ParametersMap());
|
GFTT_FREAK(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -469,7 +469,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//SURF_FREAK
|
//SURF_FREAK
|
||||||
class RTABMAP_EXP SURF_FREAK : public SURF
|
class RTABMAP_CORE_EXPORT SURF_FREAK : public SURF
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SURF_FREAK(const ParametersMap & parameters = ParametersMap());
|
SURF_FREAK(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -491,7 +491,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//GFTT_ORB
|
//GFTT_ORB
|
||||||
class RTABMAP_EXP GFTT_ORB : public GFTT
|
class RTABMAP_CORE_EXPORT GFTT_ORB : public GFTT
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GFTT_ORB(const ParametersMap & parameters = ParametersMap());
|
GFTT_ORB(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -508,7 +508,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//BRISK
|
//BRISK
|
||||||
class RTABMAP_EXP BRISK : public Feature2D
|
class RTABMAP_CORE_EXPORT BRISK : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BRISK(const ParametersMap & parameters = ParametersMap());
|
BRISK(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -530,7 +530,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//KAZE
|
//KAZE
|
||||||
class RTABMAP_EXP KAZE : public Feature2D
|
class RTABMAP_CORE_EXPORT KAZE : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
KAZE(const ParametersMap & parameters = ParametersMap());
|
KAZE(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -557,7 +557,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//ORB OCTREE
|
//ORB OCTREE
|
||||||
class RTABMAP_EXP ORBOctree : public Feature2D
|
class RTABMAP_CORE_EXPORT ORBOctree : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ORBOctree(const ParametersMap & parameters = ParametersMap());
|
ORBOctree(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -583,7 +583,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//SuperPointTorch
|
//SuperPointTorch
|
||||||
class RTABMAP_EXP SuperPointTorch : public Feature2D
|
class RTABMAP_CORE_EXPORT SuperPointTorch : public Feature2D
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SuperPointTorch(const ParametersMap & parameters = ParametersMap());
|
SuperPointTorch(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -606,7 +606,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//GFTT_DAISY
|
//GFTT_DAISY
|
||||||
class RTABMAP_EXP GFTT_DAISY : public GFTT
|
class RTABMAP_CORE_EXPORT GFTT_DAISY : public GFTT
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GFTT_DAISY(const ParametersMap & parameters = ParametersMap());
|
GFTT_DAISY(const ParametersMap & parameters = ParametersMap());
|
||||||
@@ -630,7 +630,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//SURF_DAISY
|
//SURF_DAISY
|
||||||
class RTABMAP_EXP SURF_DAISY : public SURF
|
class RTABMAP_CORE_EXPORT SURF_DAISY : public SURF
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SURF_DAISY(const ParametersMap & parameters = ParametersMap());
|
SURF_DAISY(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef CORELIB_SRC_FLANNINDEX_H_
|
#ifndef CORELIB_SRC_FLANNINDEX_H_
|
||||||
#define CORELIB_SRC_FLANNINDEX_H_
|
#define CORELIB_SRC_FLANNINDEX_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <opencv2/opencv.hpp>
|
#include <opencv2/opencv.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP FlannIndex
|
class RTABMAP_CORE_EXPORT FlannIndex
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FlannIndex();
|
FlannIndex();
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef CORELIB_SRC_GAINCOMPENSATOR_H_
|
#ifndef CORELIB_SRC_GAINCOMPENSATOR_H_
|
||||||
#define CORELIB_SRC_GAINCOMPENSATOR_H_
|
#define CORELIB_SRC_GAINCOMPENSATOR_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
@@ -41,7 +41,7 @@ namespace rtabmap {
|
|||||||
/**
|
/**
|
||||||
* Works like cv::GainCompensator but with point clouds
|
* Works like cv::GainCompensator but with point clouds
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP GainCompensator {
|
class RTABMAP_CORE_EXPORT GainCompensator {
|
||||||
public:
|
public:
|
||||||
GainCompensator(double maxCorrespondenceDistance = 0.02, double minOverlap = 0.0, double alpha = 0.01, double beta = 10);
|
GainCompensator(double maxCorrespondenceDistance = 0.02, double minOverlap = 0.0, double alpha = 0.01, double beta = 10);
|
||||||
virtual ~GainCompensator();
|
virtual ~GainCompensator();
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef GEODETICCOORDS_H_
|
#ifndef GEODETICCOORDS_H_
|
||||||
#define GEODETICCOORDS_H_
|
#define GEODETICCOORDS_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP GeodeticCoords
|
class RTABMAP_CORE_EXPORT GeodeticCoords
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GeodeticCoords();
|
GeodeticCoords();
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef GRAPH_H_
|
#ifndef GRAPH_H_
|
||||||
#define GRAPH_H_
|
#define GRAPH_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <list>
|
#include <list>
|
||||||
@@ -46,7 +46,7 @@ namespace graph {
|
|||||||
// Graph utilities
|
// Graph utilities
|
||||||
////////////////////////////////////////////
|
////////////////////////////////////////////
|
||||||
|
|
||||||
bool RTABMAP_EXP exportPoses(
|
bool RTABMAP_CORE_EXPORT exportPoses(
|
||||||
const std::string & filePath,
|
const std::string & filePath,
|
||||||
int format, // 0=Raw (*.txt), 1=RGBD-SLAM motion capture (*.txt) (10=without change of coordinate frame, 11=10+ID), 2=KITTI (*.txt), 3=TORO (*.graph), 4=g2o (*.g2o)
|
int format, // 0=Raw (*.txt), 1=RGBD-SLAM motion capture (*.txt) (10=without change of coordinate frame, 11=10+ID), 2=KITTI (*.txt), 3=TORO (*.graph), 4=g2o (*.g2o)
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
@@ -54,14 +54,14 @@ bool RTABMAP_EXP exportPoses(
|
|||||||
const std::map<int, double> & stamps = std::map<int, double>(), // required for format 1
|
const std::map<int, double> & stamps = std::map<int, double>(), // required for format 1
|
||||||
const ParametersMap & parameters = ParametersMap()); // optional for formats 3 and 4
|
const ParametersMap & parameters = ParametersMap()); // optional for formats 3 and 4
|
||||||
|
|
||||||
bool RTABMAP_EXP importPoses(
|
bool RTABMAP_CORE_EXPORT importPoses(
|
||||||
const std::string & filePath,
|
const std::string & filePath,
|
||||||
int format, // 0=Raw, 1=RGBD-SLAM motion capture (10=without change of coordinate frame, 11=10+ID), 2=KITTI, 3=TORO, 4=g2o, 5=NewCollege(t,x,y), 6=Malaga Urban GPS, 7=St Lucia INS, 8=Karlsruhe, 9=EuRoC MAV
|
int format, // 0=Raw, 1=RGBD-SLAM motion capture (10=without change of coordinate frame, 11=10+ID), 2=KITTI, 3=TORO, 4=g2o, 5=NewCollege(t,x,y), 6=Malaga Urban GPS, 7=St Lucia INS, 8=Karlsruhe, 9=EuRoC MAV
|
||||||
std::map<int, Transform> & poses,
|
std::map<int, Transform> & poses,
|
||||||
std::multimap<int, Link> * constraints = 0, // optional for formats 3 and 4
|
std::multimap<int, Link> * constraints = 0, // optional for formats 3 and 4
|
||||||
std::map<int, double> * stamps = 0); // optional for format 1 and 9
|
std::map<int, double> * stamps = 0); // optional for format 1 and 9
|
||||||
|
|
||||||
bool RTABMAP_EXP exportGPS(
|
bool RTABMAP_CORE_EXPORT exportGPS(
|
||||||
const std::string & filePath,
|
const std::string & filePath,
|
||||||
const std::map<int, GPS> & gpsValues,
|
const std::map<int, GPS> & gpsValues,
|
||||||
unsigned int rgba = 0xFFFFFFFF);
|
unsigned int rgba = 0xFFFFFFFF);
|
||||||
@@ -74,7 +74,7 @@ bool RTABMAP_EXP exportGPS(
|
|||||||
* @param t_err, Output translation error (%)
|
* @param t_err, Output translation error (%)
|
||||||
* @param r_err, Output rotation error (deg/m)
|
* @param r_err, Output rotation error (deg/m)
|
||||||
*/
|
*/
|
||||||
void RTABMAP_EXP calcKittiSequenceErrors(
|
void RTABMAP_CORE_EXPORT calcKittiSequenceErrors(
|
||||||
const std::vector<Transform> &poses_gt,
|
const std::vector<Transform> &poses_gt,
|
||||||
const std::vector<Transform> &poses_result,
|
const std::vector<Transform> &poses_result,
|
||||||
float & t_err,
|
float & t_err,
|
||||||
@@ -87,7 +87,7 @@ void RTABMAP_EXP calcKittiSequenceErrors(
|
|||||||
* @param t_err, Output translation error (m)
|
* @param t_err, Output translation error (m)
|
||||||
* @param r_err, Output rotation error (deg)
|
* @param r_err, Output rotation error (deg)
|
||||||
*/
|
*/
|
||||||
void RTABMAP_EXP calcRelativeErrors (
|
void RTABMAP_CORE_EXPORT calcRelativeErrors (
|
||||||
const std::vector<Transform> &poses_gt,
|
const std::vector<Transform> &poses_gt,
|
||||||
const std::vector<Transform> &poses_result,
|
const std::vector<Transform> &poses_result,
|
||||||
float & t_err,
|
float & t_err,
|
||||||
@@ -101,7 +101,7 @@ void RTABMAP_EXP calcRelativeErrors (
|
|||||||
* @param poses, Estimated poses
|
* @param poses, Estimated poses
|
||||||
* @return Gt to Map transform
|
* @return Gt to Map transform
|
||||||
*/
|
*/
|
||||||
Transform RTABMAP_EXP calcRMSE(
|
Transform RTABMAP_CORE_EXPORT calcRMSE(
|
||||||
const std::map<int, Transform> &groundTruth,
|
const std::map<int, Transform> &groundTruth,
|
||||||
const std::map<int, Transform> &poses,
|
const std::map<int, Transform> &poses,
|
||||||
float & translational_rmse,
|
float & translational_rmse,
|
||||||
@@ -117,7 +117,7 @@ Transform RTABMAP_EXP calcRMSE(
|
|||||||
float & rotational_min,
|
float & rotational_min,
|
||||||
float & rotational_max);
|
float & rotational_max);
|
||||||
|
|
||||||
void RTABMAP_EXP computeMaxGraphErrors(
|
void RTABMAP_CORE_EXPORT computeMaxGraphErrors(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
const std::multimap<int, Link> & links,
|
const std::multimap<int, Link> & links,
|
||||||
float & maxLinearErrorRatio,
|
float & maxLinearErrorRatio,
|
||||||
@@ -128,53 +128,53 @@ void RTABMAP_EXP computeMaxGraphErrors(
|
|||||||
const Link ** maxAngularErrorLink = 0,
|
const Link ** maxAngularErrorLink = 0,
|
||||||
bool for3DoF = false);
|
bool for3DoF = false);
|
||||||
|
|
||||||
std::vector<double> RTABMAP_EXP getMaxOdomInf(const std::multimap<int, Link> & links);
|
std::vector<double> RTABMAP_CORE_EXPORT getMaxOdomInf(const std::multimap<int, Link> & links);
|
||||||
|
|
||||||
std::multimap<int, Link>::iterator RTABMAP_EXP findLink(
|
std::multimap<int, Link>::iterator RTABMAP_CORE_EXPORT findLink(
|
||||||
std::multimap<int, Link> & links,
|
std::multimap<int, Link> & links,
|
||||||
int from,
|
int from,
|
||||||
int to,
|
int to,
|
||||||
bool checkBothWays = true,
|
bool checkBothWays = true,
|
||||||
Link::Type type = Link::kUndef);
|
Link::Type type = Link::kUndef);
|
||||||
std::multimap<int, int>::iterator RTABMAP_EXP findLink(
|
std::multimap<int, int>::iterator RTABMAP_CORE_EXPORT findLink(
|
||||||
std::multimap<int, int> & links,
|
std::multimap<int, int> & links,
|
||||||
int from,
|
int from,
|
||||||
int to,
|
int to,
|
||||||
bool checkBothWays = true);
|
bool checkBothWays = true);
|
||||||
std::multimap<int, Link>::const_iterator RTABMAP_EXP findLink(
|
std::multimap<int, Link>::const_iterator RTABMAP_CORE_EXPORT findLink(
|
||||||
const std::multimap<int, Link> & links,
|
const std::multimap<int, Link> & links,
|
||||||
int from,
|
int from,
|
||||||
int to,
|
int to,
|
||||||
bool checkBothWays = true,
|
bool checkBothWays = true,
|
||||||
Link::Type type = Link::kUndef);
|
Link::Type type = Link::kUndef);
|
||||||
std::multimap<int, int>::const_iterator RTABMAP_EXP findLink(
|
std::multimap<int, int>::const_iterator RTABMAP_CORE_EXPORT findLink(
|
||||||
const std::multimap<int, int> & links,
|
const std::multimap<int, int> & links,
|
||||||
int from,
|
int from,
|
||||||
int to,
|
int to,
|
||||||
bool checkBothWays = true);
|
bool checkBothWays = true);
|
||||||
std::list<Link> RTABMAP_EXP findLinks(
|
std::list<Link> RTABMAP_CORE_EXPORT findLinks(
|
||||||
const std::multimap<int, Link> & links,
|
const std::multimap<int, Link> & links,
|
||||||
int from);
|
int from);
|
||||||
|
|
||||||
std::multimap<int, Link> RTABMAP_EXP filterDuplicateLinks(
|
std::multimap<int, Link> RTABMAP_CORE_EXPORT filterDuplicateLinks(
|
||||||
const std::multimap<int, Link> & links);
|
const std::multimap<int, Link> & links);
|
||||||
/**
|
/**
|
||||||
* Return links not of type "filteredType". If inverted=true, return links of type "filteredType".
|
* Return links not of type "filteredType". If inverted=true, return links of type "filteredType".
|
||||||
*/
|
*/
|
||||||
std::multimap<int, Link> RTABMAP_EXP filterLinks(
|
std::multimap<int, Link> RTABMAP_CORE_EXPORT filterLinks(
|
||||||
const std::multimap<int, Link> & links,
|
const std::multimap<int, Link> & links,
|
||||||
Link::Type filteredType,
|
Link::Type filteredType,
|
||||||
bool inverted = false);
|
bool inverted = false);
|
||||||
/**
|
/**
|
||||||
* Return links not of type "filteredType". If inverted=true, return links of type "filteredType".
|
* Return links not of type "filteredType". If inverted=true, return links of type "filteredType".
|
||||||
*/
|
*/
|
||||||
std::map<int, Link> RTABMAP_EXP filterLinks(
|
std::map<int, Link> RTABMAP_CORE_EXPORT filterLinks(
|
||||||
const std::map<int, Link> & links,
|
const std::map<int, Link> & links,
|
||||||
Link::Type filteredType,
|
Link::Type filteredType,
|
||||||
bool inverted = false);
|
bool inverted = false);
|
||||||
|
|
||||||
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
||||||
std::map<int, Transform> RTABMAP_EXP frustumPosesFiltering(
|
std::map<int, Transform> RTABMAP_CORE_EXPORT frustumPosesFiltering(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
const Transform & cameraPose,
|
const Transform & cameraPose,
|
||||||
float horizontalFOV = 45.0f, // in degrees, xfov = atan((image_width/2)/fx)*2
|
float horizontalFOV = 45.0f, // in degrees, xfov = atan((image_width/2)/fx)*2
|
||||||
@@ -191,7 +191,7 @@ std::map<int, Transform> RTABMAP_EXP frustumPosesFiltering(
|
|||||||
* @param keepLatest keep the latest node if true, otherwise the oldest node is kept
|
* @param keepLatest keep the latest node if true, otherwise the oldest node is kept
|
||||||
* @return A map containing only most recent or older poses in the the defined radius
|
* @return A map containing only most recent or older poses in the the defined radius
|
||||||
*/
|
*/
|
||||||
std::map<int, Transform> RTABMAP_EXP radiusPosesFiltering(
|
std::map<int, Transform> RTABMAP_CORE_EXPORT radiusPosesFiltering(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle,
|
float angle,
|
||||||
@@ -204,7 +204,7 @@ std::map<int, Transform> RTABMAP_EXP radiusPosesFiltering(
|
|||||||
* @param angle Maximum angle (rad, [0,PI]) of accepted neighbor nodes in the radius (0 means ignore angle)
|
* @param angle Maximum angle (rad, [0,PI]) of accepted neighbor nodes in the radius (0 means ignore angle)
|
||||||
* @return A map between each pose id and its neighbors found in the radius
|
* @return A map between each pose id and its neighbors found in the radius
|
||||||
*/
|
*/
|
||||||
std::multimap<int, int> RTABMAP_EXP radiusPosesClustering(
|
std::multimap<int, int> RTABMAP_CORE_EXPORT radiusPosesClustering(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle);
|
float angle);
|
||||||
@@ -224,7 +224,7 @@ void reduceGraph(
|
|||||||
* @param updateNewCosts Keep up-to-date costs while traversing the graph.
|
* @param updateNewCosts Keep up-to-date costs while traversing the graph.
|
||||||
* @return the path ids from id "from" to id "to" including initial and final nodes.
|
* @return the path ids from id "from" to id "to" including initial and final nodes.
|
||||||
*/
|
*/
|
||||||
std::list<std::pair<int, Transform> > RTABMAP_EXP computePath(
|
std::list<std::pair<int, Transform> > RTABMAP_CORE_EXPORT computePath(
|
||||||
const std::map<int, rtabmap::Transform> & poses,
|
const std::map<int, rtabmap::Transform> & poses,
|
||||||
const std::multimap<int, int> & links,
|
const std::multimap<int, int> & links,
|
||||||
int from,
|
int from,
|
||||||
@@ -241,7 +241,7 @@ std::list<std::pair<int, Transform> > RTABMAP_EXP computePath(
|
|||||||
* @param useSameCostForAllLinks Ignore distance between nodes
|
* @param useSameCostForAllLinks Ignore distance between nodes
|
||||||
* @return the path ids from id "from" to id "to" including initial and final nodes.
|
* @return the path ids from id "from" to id "to" including initial and final nodes.
|
||||||
*/
|
*/
|
||||||
std::list<int> RTABMAP_EXP computePath(
|
std::list<int> RTABMAP_CORE_EXPORT computePath(
|
||||||
const std::multimap<int, Link> & links,
|
const std::multimap<int, Link> & links,
|
||||||
int from,
|
int from,
|
||||||
int to,
|
int to,
|
||||||
@@ -257,7 +257,7 @@ std::list<int> RTABMAP_EXP computePath(
|
|||||||
* @param updateNewCosts Keep up-to-date costs while traversing the graph.
|
* @param updateNewCosts Keep up-to-date costs while traversing the graph.
|
||||||
* @return the path ids from id "fromId" to id "toId" including initial and final nodes (Identity pose for the first node).
|
* @return the path ids from id "fromId" to id "toId" including initial and final nodes (Identity pose for the first node).
|
||||||
*/
|
*/
|
||||||
std::list<std::pair<int, Transform> > RTABMAP_EXP computePath(
|
std::list<std::pair<int, Transform> > RTABMAP_CORE_EXPORT computePath(
|
||||||
int fromId,
|
int fromId,
|
||||||
int toId,
|
int toId,
|
||||||
const Memory * memory,
|
const Memory * memory,
|
||||||
@@ -273,7 +273,7 @@ std::list<std::pair<int, Transform> > RTABMAP_EXP computePath(
|
|||||||
* @param distance squared distance of the nearest node found (optional)
|
* @param distance squared distance of the nearest node found (optional)
|
||||||
* @return the node id.
|
* @return the node id.
|
||||||
*/
|
*/
|
||||||
int RTABMAP_EXP findNearestNode(
|
int RTABMAP_CORE_EXPORT findNearestNode(
|
||||||
const std::map<int, rtabmap::Transform> & poses,
|
const std::map<int, rtabmap::Transform> & poses,
|
||||||
const rtabmap::Transform & targetPose,
|
const rtabmap::Transform & targetPose,
|
||||||
float * distance = 0);
|
float * distance = 0);
|
||||||
@@ -286,54 +286,56 @@ int RTABMAP_EXP findNearestNode(
|
|||||||
* @param k max nearest neighbors (0=all inside the radius)
|
* @param k max nearest neighbors (0=all inside the radius)
|
||||||
* @return the nodes with squared distance to query node.
|
* @return the nodes with squared distance to query node.
|
||||||
*/
|
*/
|
||||||
std::map<int, float> RTABMAP_EXP findNearestNodes(
|
std::map<int, float> RTABMAP_CORE_EXPORT findNearestNodes(
|
||||||
int nodeId,
|
int nodeId,
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle = 0.0f,
|
float angle = 0.0f,
|
||||||
int k=0);
|
int k=0);
|
||||||
std::map<int, float> RTABMAP_EXP findNearestNodes(
|
std::map<int, float> RTABMAP_CORE_EXPORT findNearestNodes(
|
||||||
const Transform & targetPose,
|
const Transform & targetPose,
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle = 0.0f,
|
float angle = 0.0f,
|
||||||
int k=0);
|
int k=0);
|
||||||
std::map<int, Transform> RTABMAP_EXP findNearestPoses(
|
std::map<int, Transform> RTABMAP_CORE_EXPORT findNearestPoses(
|
||||||
int nodeId,
|
int nodeId,
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle = 0.0f,
|
float angle = 0.0f,
|
||||||
int k=0);
|
int k=0);
|
||||||
std::map<int, Transform> RTABMAP_EXP findNearestPoses(
|
std::map<int, Transform> RTABMAP_CORE_EXPORT findNearestPoses(
|
||||||
const Transform & targetPose,
|
const Transform & targetPose,
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
float radius,
|
float radius,
|
||||||
float angle = 0.0f,
|
float angle = 0.0f,
|
||||||
int k=0);
|
int k=0);
|
||||||
|
|
||||||
// typedef hack to avoid error with RTABMAP_DEPRECATED
|
// Use new findNearestNodes() interface with radius=0, angle=0.
|
||||||
typedef std::map<int, float> _mapIntFloat;
|
RTABMAP_DEPRECATED std::map<int, float> RTABMAP_CORE_EXPORT findNearestNodes(const std::map<int, rtabmap::Transform> & nodes, const rtabmap::Transform & targetPose, int k);
|
||||||
typedef std::map<int, Transform> _mapIntTransform;
|
// Renamed to findNearestNodes()
|
||||||
RTABMAP_DEPRECATED(_mapIntFloat RTABMAP_EXP findNearestNodes(const std::map<int, rtabmap::Transform> & nodes, const rtabmap::Transform & targetPose, int k), "Use new findNearestNodes() interface with radius=0, angle=0.");
|
RTABMAP_DEPRECATED std::map<int, float> RTABMAP_CORE_EXPORT getNodesInRadius(int nodeId, const std::map<int, Transform> & nodes, float radius);
|
||||||
RTABMAP_DEPRECATED(_mapIntFloat RTABMAP_EXP getNodesInRadius(int nodeId, const std::map<int, Transform> & nodes, float radius), "Renamed to findNearestNodes()");
|
// Renamed to findNearestNodes()
|
||||||
RTABMAP_DEPRECATED(_mapIntFloat RTABMAP_EXP getNodesInRadius(const Transform & targetPose, const std::map<int, Transform> & nodes, float radius), "Renamed to findNearestNodes()");
|
RTABMAP_DEPRECATED std::map<int, float> RTABMAP_CORE_EXPORT getNodesInRadius(const Transform & targetPose, const std::map<int, Transform> & nodes, float radius);
|
||||||
RTABMAP_DEPRECATED(_mapIntTransform RTABMAP_EXP getPosesInRadius(int nodeId, const std::map<int, Transform> & nodes, float radius, float angle = 0.0f), "Renamed to findNearestNodes()");
|
// Renamed to findNearestNodes()
|
||||||
RTABMAP_DEPRECATED(_mapIntTransform RTABMAP_EXP getPosesInRadius(const Transform & targetPose, const std::map<int, Transform> & nodes, float radius, float angle = 0.0f), "Renamed to findNearestNodes()");
|
RTABMAP_DEPRECATED std::map<int, Transform> RTABMAP_CORE_EXPORT getPosesInRadius(int nodeId, const std::map<int, Transform> & nodes, float radius, float angle = 0.0f);
|
||||||
|
// Renamed to findNearestNodes()
|
||||||
|
RTABMAP_DEPRECATED std::map<int, Transform> RTABMAP_CORE_EXPORT getPosesInRadius(const Transform & targetPose, const std::map<int, Transform> & nodes, float radius, float angle = 0.0f);
|
||||||
|
|
||||||
float RTABMAP_EXP computePathLength(
|
float RTABMAP_CORE_EXPORT computePathLength(
|
||||||
const std::vector<std::pair<int, Transform> > & path,
|
const std::vector<std::pair<int, Transform> > & path,
|
||||||
unsigned int fromIndex = 0,
|
unsigned int fromIndex = 0,
|
||||||
unsigned int toIndex = 0);
|
unsigned int toIndex = 0);
|
||||||
|
|
||||||
// assuming they are all linked in map order
|
// assuming they are all linked in map order
|
||||||
float RTABMAP_EXP computePathLength(
|
float RTABMAP_CORE_EXPORT computePathLength(
|
||||||
const std::map<int, Transform> & path);
|
const std::map<int, Transform> & path);
|
||||||
|
|
||||||
std::list<std::map<int, Transform> > RTABMAP_EXP getPaths(
|
std::list<std::map<int, Transform> > RTABMAP_CORE_EXPORT getPaths(
|
||||||
std::map<int, Transform> poses,
|
std::map<int, Transform> poses,
|
||||||
const std::multimap<int, Link> & links);
|
const std::multimap<int, Link> & links);
|
||||||
|
|
||||||
void RTABMAP_EXP computeMinMax(const std::map<int, Transform> & poses,
|
void RTABMAP_CORE_EXPORT computeMinMax(const std::map<int, Transform> & poses,
|
||||||
cv::Vec3f & min,
|
cv::Vec3f & min,
|
||||||
cv::Vec3f & max);
|
cv::Vec3f & max);
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <rtabmap/utilite/UThread.h>
|
#include <rtabmap/utilite/UThread.h>
|
||||||
@@ -43,7 +43,7 @@ namespace rtabmap
|
|||||||
* Class IMUThread
|
* Class IMUThread
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP IMUThread :
|
class RTABMAP_CORE_EXPORT IMUThread :
|
||||||
public UThread,
|
public UThread,
|
||||||
public UEventsSender
|
public UEventsSender
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef CORELIB_INCLUDE_RTABMAP_CORE_LANDMARK_H_
|
#ifndef CORELIB_INCLUDE_RTABMAP_CORE_LANDMARK_H_
|
||||||
#define CORELIB_INCLUDE_RTABMAP_CORE_LANDMARK_H_
|
#define CORELIB_INCLUDE_RTABMAP_CORE_LANDMARK_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <rtabmap/utilite/ULogger.h>
|
#include <rtabmap/utilite/ULogger.h>
|
||||||
#include <rtabmap/utilite/UMath.h>
|
#include <rtabmap/utilite/UMath.h>
|
||||||
@@ -59,7 +59,8 @@ public:
|
|||||||
UASSERT_MSG(uIsFinite(covariance_.at<double>(4,4)) && covariance_.at<double>(4,4)>0, uFormat("Angular covariance should not be null! Value=%f (set to 9999 if unknown).", covariance_.at<double>(4,4)).c_str());
|
UASSERT_MSG(uIsFinite(covariance_.at<double>(4,4)) && covariance_.at<double>(4,4)>0, uFormat("Angular covariance should not be null! Value=%f (set to 9999 if unknown).", covariance_.at<double>(4,4)).c_str());
|
||||||
UASSERT_MSG(uIsFinite(covariance_.at<double>(5,5)) && covariance_.at<double>(5,5)>0, uFormat("Angular covariance should not be null! Value=%f (set to 9999 if unknown).", covariance_.at<double>(5,5)).c_str());
|
UASSERT_MSG(uIsFinite(covariance_.at<double>(5,5)) && covariance_.at<double>(5,5)>0, uFormat("Angular covariance should not be null! Value=%f (set to 9999 if unknown).", covariance_.at<double>(5,5)).c_str());
|
||||||
}
|
}
|
||||||
RTABMAP_DEPRECATED(Landmark(const int & id, const Transform & pose, const cv::Mat & covariance), "Use constructor with size=0 instead.");
|
// Use constructor with size=0 instead.
|
||||||
|
RTABMAP_DEPRECATED Landmark(const int & id, const Transform & pose, const cv::Mat & covariance);
|
||||||
|
|
||||||
virtual ~Landmark() {}
|
virtual ~Landmark() {}
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef CORELIB_INCLUDE_RTABMAP_CORE_LASERSCAN_H_
|
#ifndef CORELIB_INCLUDE_RTABMAP_CORE_LASERSCAN_H_
|
||||||
#define CORELIB_INCLUDE_RTABMAP_CORE_LASERSCAN_H_
|
#define CORELIB_INCLUDE_RTABMAP_CORE_LASERSCAN_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP LaserScan
|
class RTABMAP_CORE_EXPORT LaserScan
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Format{kUnknown=0,
|
enum Format{kUnknown=0,
|
||||||
@@ -75,24 +75,26 @@ public:
|
|||||||
int maxPoints,
|
int maxPoints,
|
||||||
float maxRange,
|
float maxRange,
|
||||||
const Transform & localTransform = Transform::getIdentity());
|
const Transform & localTransform = Transform::getIdentity());
|
||||||
RTABMAP_DEPRECATED(LaserScan(const LaserScan & data,
|
// Use version without \"format\" argument.
|
||||||
|
RTABMAP_DEPRECATED LaserScan(const LaserScan & data,
|
||||||
int maxPoints,
|
int maxPoints,
|
||||||
float maxRange,
|
float maxRange,
|
||||||
Format format,
|
Format format,
|
||||||
const Transform & localTransform = Transform::getIdentity()), "Use version without \"format\" argument.");
|
const Transform & localTransform = Transform::getIdentity());
|
||||||
LaserScan(const cv::Mat & data,
|
LaserScan(const cv::Mat & data,
|
||||||
int maxPoints,
|
int maxPoints,
|
||||||
float maxRange,
|
float maxRange,
|
||||||
Format format,
|
Format format,
|
||||||
const Transform & localTransform = Transform::getIdentity());
|
const Transform & localTransform = Transform::getIdentity());
|
||||||
RTABMAP_DEPRECATED(LaserScan(const LaserScan & data,
|
// Use version without \"format\" argument.
|
||||||
|
RTABMAP_DEPRECATED LaserScan(const LaserScan & data,
|
||||||
Format format,
|
Format format,
|
||||||
float minRange,
|
float minRange,
|
||||||
float maxRange,
|
float maxRange,
|
||||||
float angleMin,
|
float angleMin,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
float angleIncrement,
|
float angleIncrement,
|
||||||
const Transform & localTransform = Transform::getIdentity()), "Use version without \"format\" argument.");
|
const Transform & localTransform = Transform::getIdentity());
|
||||||
LaserScan(const LaserScan & data,
|
LaserScan(const LaserScan & data,
|
||||||
float minRange,
|
float minRange,
|
||||||
float maxRange,
|
float maxRange,
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef LINK_H_
|
#ifndef LINK_H_
|
||||||
#define LINK_H_
|
#define LINK_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP Link
|
class RTABMAP_CORE_EXPORT Link
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
|
|||||||
@@ -56,19 +56,20 @@ private:
|
|||||||
Transform pose_;
|
Transform pose_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RTABMAP_EXP MarkerDetector {
|
class RTABMAP_CORE_EXPORT MarkerDetector {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MarkerDetector(const ParametersMap & parameters = ParametersMap());
|
MarkerDetector(const ParametersMap & parameters = ParametersMap());
|
||||||
virtual ~MarkerDetector();
|
virtual ~MarkerDetector();
|
||||||
void parseParameters(const ParametersMap & parameters);
|
void parseParameters(const ParametersMap & parameters);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(
|
// Use the other detect(), in which the returned map contains the length of each marker detected.
|
||||||
|
RTABMAP_DEPRECATED
|
||||||
MapIdPose detect(const cv::Mat & image,
|
MapIdPose detect(const cv::Mat & image,
|
||||||
const CameraModel & model,
|
const CameraModel & model,
|
||||||
const cv::Mat & depth = cv::Mat(),
|
const cv::Mat & depth = cv::Mat(),
|
||||||
float * estimatedMarkerLength = 0,
|
float * estimatedMarkerLength = 0,
|
||||||
cv::Mat * imageWithDetections = 0), "Use the other detect(), in which the returned map contains the length of each marker detected.");
|
cv::Mat * imageWithDetections = 0);
|
||||||
|
|
||||||
std::map<int, MarkerInfo> detect(const cv::Mat & image,
|
std::map<int, MarkerInfo> detect(const cv::Mat & image,
|
||||||
const std::vector<CameraModel> & models,
|
const std::vector<CameraModel> & models,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef MEMORY_H_
|
#ifndef MEMORY_H_
|
||||||
#define MEMORY_H_
|
#define MEMORY_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include "rtabmap/utilite/UEventsHandler.h"
|
#include "rtabmap/utilite/UEventsHandler.h"
|
||||||
#include "rtabmap/core/Parameters.h"
|
#include "rtabmap/core/Parameters.h"
|
||||||
@@ -60,7 +60,7 @@ class Stereo;
|
|||||||
class OccupancyGrid;
|
class OccupancyGrid;
|
||||||
class MarkerDetector;
|
class MarkerDetector;
|
||||||
|
|
||||||
class RTABMAP_EXP Memory
|
class RTABMAP_CORE_EXPORT Memory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static const int kIdStart;
|
static const int kIdStart;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef CORELIB_SRC_OCCUPANCYGRID_H_
|
#ifndef CORELIB_SRC_OCCUPANCYGRID_H_
|
||||||
#define CORELIB_SRC_OCCUPANCYGRID_H_
|
#define CORELIB_SRC_OCCUPANCYGRID_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/pcl_base.h>
|
#include <pcl/pcl_base.h>
|
||||||
@@ -37,7 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OccupancyGrid
|
class RTABMAP_CORE_EXPORT OccupancyGrid
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
inline static float logodds(double probability)
|
inline static float logodds(double probability)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef SRC_OCTOMAP_H_
|
#ifndef SRC_OCTOMAP_H_
|
||||||
#define SRC_OCTOMAP_H_
|
#define SRC_OCTOMAP_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <octomap/ColorOcTree.h>
|
#include <octomap/ColorOcTree.h>
|
||||||
#include <octomap/OcTreeKey.h>
|
#include <octomap/OcTreeKey.h>
|
||||||
@@ -171,7 +171,7 @@ class RtabmapColorOcTree : public octomap::OccupancyOcTreeBase <RtabmapColorOcTr
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class RTABMAP_EXP OctoMap {
|
class RTABMAP_CORE_EXPORT OctoMap {
|
||||||
public:
|
public:
|
||||||
OctoMap(const ParametersMap & parameters = ParametersMap());
|
OctoMap(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef ODOMETRY_H_
|
#ifndef ODOMETRY_H_
|
||||||
#define ODOMETRY_H_
|
#define ODOMETRY_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <rtabmap/core/SensorData.h>
|
#include <rtabmap/core/SensorData.h>
|
||||||
@@ -39,7 +39,7 @@ namespace rtabmap {
|
|||||||
class OdometryInfo;
|
class OdometryInfo;
|
||||||
class ParticleFilter;
|
class ParticleFilter;
|
||||||
|
|
||||||
class RTABMAP_EXP Odometry
|
class RTABMAP_CORE_EXPORT Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
@@ -75,7 +75,8 @@ public:
|
|||||||
//getters
|
//getters
|
||||||
const Transform & getPose() const {return _pose;}
|
const Transform & getPose() const {return _pose;}
|
||||||
bool isInfoDataFilled() const {return _fillInfoData;}
|
bool isInfoDataFilled() const {return _fillInfoData;}
|
||||||
RTABMAP_DEPRECATED(const Transform & previousVelocityTransform() const, "Use getVelocityGuess() instead.");
|
// Use getVelocityGuess() instead.
|
||||||
|
RTABMAP_DEPRECATED const Transform & previousVelocityTransform() const;
|
||||||
const Transform & getVelocityGuess() const {return velocityGuess_;}
|
const Transform & getVelocityGuess() const {return velocityGuess_;}
|
||||||
double previousStamp() const {return previousStamp_;}
|
double previousStamp() const {return previousStamp_;}
|
||||||
unsigned int framesProcessed() const {return framesProcessed_;}
|
unsigned int framesProcessed() const {return framesProcessed_;}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef ODOMETRYTHREAD_H_
|
#ifndef ODOMETRYTHREAD_H_
|
||||||
#define ODOMETRYTHREAD_H_
|
#define ODOMETRYTHREAD_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
#include <rtabmap/core/SensorData.h>
|
#include <rtabmap/core/SensorData.h>
|
||||||
#include <rtabmap/utilite/UThread.h>
|
#include <rtabmap/utilite/UThread.h>
|
||||||
#include <rtabmap/utilite/UEventsHandler.h>
|
#include <rtabmap/utilite/UEventsHandler.h>
|
||||||
@@ -38,7 +38,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
class Odometry;
|
class Odometry;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryThread : public UThread, public UEventsHandler {
|
class RTABMAP_CORE_EXPORT OdometryThread : public UThread, public UEventsHandler {
|
||||||
public:
|
public:
|
||||||
// take ownership of Odometry
|
// take ownership of Odometry
|
||||||
OdometryThread(Odometry * odometry, unsigned int dataBufferMaxSize = 1);
|
OdometryThread(Odometry * odometry, unsigned int dataBufferMaxSize = 1);
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZER_H_
|
#ifndef OPTIMIZER_H_
|
||||||
#define OPTIMIZER_H_
|
#define OPTIMIZER_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <list>
|
#include <list>
|
||||||
@@ -58,7 +58,7 @@ public:
|
|||||||
////////////////////////////////////////////
|
////////////////////////////////////////////
|
||||||
// Graph optimizers
|
// Graph optimizers
|
||||||
////////////////////////////////////////////
|
////////////////////////////////////////////
|
||||||
class RTABMAP_EXP Optimizer
|
class RTABMAP_CORE_EXPORT Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define PARAMETERS_H_
|
#define PARAMETERS_H_
|
||||||
|
|
||||||
// default parameters
|
// default parameters
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
#include "rtabmap/core/Version.h" // DLL export/import defines
|
#include "rtabmap/core/Version.h" // DLL export/import defines
|
||||||
#include <rtabmap/utilite/UConversion.h>
|
#include <rtabmap/utilite/UConversion.h>
|
||||||
#include <opencv2/core/version.hpp>
|
#include <opencv2/core/version.hpp>
|
||||||
@@ -167,7 +167,7 @@ typedef std::pair<std::string, std::string> ParametersPair;
|
|||||||
* @see getDefaultParameters()
|
* @see getDefaultParameters()
|
||||||
* TODO Add a detailed example with simple classes
|
* TODO Add a detailed example with simple classes
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP Parameters
|
class RTABMAP_CORE_EXPORT Parameters
|
||||||
{
|
{
|
||||||
// Rtabmap parameters
|
// Rtabmap parameters
|
||||||
RTABMAP_PARAM(Rtabmap, PublishStats, bool, true, "Publishing statistics.");
|
RTABMAP_PARAM(Rtabmap, PublishStats, bool, true, "Publishing statistics.");
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef RECOVERY_H_
|
#ifndef RECOVERY_H_
|
||||||
#define RECOVERY_H_
|
#define RECOVERY_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ class ProgressState;
|
|||||||
* @param errorMsg error message if the function returns false
|
* @param errorMsg error message if the function returns false
|
||||||
* @param progressState A ProgressState object used to get status of the recovery process
|
* @param progressState A ProgressState object used to get status of the recovery process
|
||||||
*/
|
*/
|
||||||
bool RTABMAP_EXP databaseRecovery(
|
bool RTABMAP_CORE_EXPORT databaseRecovery(
|
||||||
const std::string & corruptedDatabase,
|
const std::string & corruptedDatabase,
|
||||||
bool keepCorruptedDatabase = true,
|
bool keepCorruptedDatabase = true,
|
||||||
std::string * errorMsg = 0,
|
std::string * errorMsg = 0,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef RTABMAP_REGISTRATION_H_
|
#ifndef RTABMAP_REGISTRATION_H_
|
||||||
#define RTABMAP_REGISTRATION_H_
|
#define RTABMAP_REGISTRATION_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <rtabmap/core/Signature.h>
|
#include <rtabmap/core/Signature.h>
|
||||||
@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP Registration
|
class RTABMAP_CORE_EXPORT Registration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef REGISTRATIONICP_H_
|
#ifndef REGISTRATIONICP_H_
|
||||||
#define REGISTRATIONICP_H_
|
#define REGISTRATIONICP_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Registration.h>
|
#include <rtabmap/core/Registration.h>
|
||||||
#include <rtabmap/core/Signature.h>
|
#include <rtabmap/core/Signature.h>
|
||||||
@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
// Geometrical registration
|
// Geometrical registration
|
||||||
class RTABMAP_EXP RegistrationIcp : public Registration
|
class RTABMAP_CORE_EXPORT RegistrationIcp : public Registration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// take ownership of child
|
// take ownership of child
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef REGISTRATIONVIS_H_
|
#ifndef REGISTRATIONVIS_H_
|
||||||
#define REGISTRATIONVIS_H_
|
#define REGISTRATIONVIS_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Registration.h>
|
#include <rtabmap/core/Registration.h>
|
||||||
#include <rtabmap/core/Signature.h>
|
#include <rtabmap/core/Signature.h>
|
||||||
@@ -42,7 +42,7 @@ class PyMatcher;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Visual registration
|
// Visual registration
|
||||||
class RTABMAP_EXP RegistrationVis : public Registration
|
class RTABMAP_CORE_EXPORT RegistrationVis : public Registration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// take ownership of child
|
// take ownership of child
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef RTABMAP_H_
|
#ifndef RTABMAP_H_
|
||||||
#define RTABMAP_H_
|
#define RTABMAP_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include "rtabmap/core/Parameters.h"
|
#include "rtabmap/core/Parameters.h"
|
||||||
#include "rtabmap/core/SensorData.h"
|
#include "rtabmap/core/SensorData.h"
|
||||||
@@ -51,7 +51,7 @@ class Signature;
|
|||||||
class Optimizer;
|
class Optimizer;
|
||||||
class PythonInterface;
|
class PythonInterface;
|
||||||
|
|
||||||
class RTABMAP_EXP Rtabmap
|
class RTABMAP_CORE_EXPORT Rtabmap
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum VhStrategy {kVhNone, kVhEpipolar, kVhUndef};
|
enum VhStrategy {kVhNone, kVhEpipolar, kVhUndef};
|
||||||
@@ -180,12 +180,13 @@ public:
|
|||||||
void deleteLastLocation();
|
void deleteLastLocation();
|
||||||
void setOptimizedPoses(const std::map<int, Transform> & poses, const std::multimap<int, Link> & constraints);
|
void setOptimizedPoses(const std::map<int, Transform> & poses, const std::multimap<int, Link> & constraints);
|
||||||
Signature getSignatureCopy(int id, bool images, bool scan, bool userData, bool occupancyGrid, bool withWords, bool withGlobalDescriptors) const;
|
Signature getSignatureCopy(int id, bool images, bool scan, bool userData, bool occupancyGrid, bool withWords, bool withGlobalDescriptors) const;
|
||||||
RTABMAP_DEPRECATED(
|
// Use getGraph() instead with withImages=true, withScan=true, withUserData=true and withGrid=true.
|
||||||
|
RTABMAP_DEPRECATED
|
||||||
void get3DMap(std::map<int, Signature> & signatures,
|
void get3DMap(std::map<int, Signature> & signatures,
|
||||||
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 global) const, "Use getGraph() instead with withImages=true, withScan=true, withUserData=true and withGrid=true.");
|
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,
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef RTABMAPEXP_H
|
|
||||||
#define RTABMAPEXP_H
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
#if defined(rtabmap_core_EXPORTS)
|
|
||||||
#define RTABMAP_EXP __declspec( dllexport )
|
|
||||||
#else
|
|
||||||
#define RTABMAP_EXP __declspec( dllimport )
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define RTABMAP_EXP
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#define RTABMAP_DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
|
|
||||||
#elif defined(_MSC_VER)
|
|
||||||
#define RTABMAP_DEPRECATED(func, msg) __declspec(deprecated(msg)) func
|
|
||||||
#else
|
|
||||||
#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
|
|
||||||
#define RTABMAP_DEPRECATED(func, msg) func
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // RTABMAPEXP_H
|
|
||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef RTABMAPTHREAD_H_
|
#ifndef RTABMAPTHREAD_H_
|
||||||
#define RTABMAPTHREAD_H_
|
#define RTABMAPTHREAD_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/utilite/UThreadNode.h>
|
#include <rtabmap/utilite/UThreadNode.h>
|
||||||
#include <rtabmap/utilite/UEventsHandler.h>
|
#include <rtabmap/utilite/UEventsHandler.h>
|
||||||
@@ -48,7 +48,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
class Rtabmap;
|
class Rtabmap;
|
||||||
|
|
||||||
class RTABMAP_EXP RtabmapThread :
|
class RTABMAP_CORE_EXPORT RtabmapThread :
|
||||||
public UThreadNode,
|
public UThreadNode,
|
||||||
public UEventsHandler
|
public UEventsHandler
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef SENSORDATA_H_
|
#ifndef SENSORDATA_H_
|
||||||
#define SENSORDATA_H_
|
#define SENSORDATA_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <rtabmap/core/CameraModel.h>
|
#include <rtabmap/core/CameraModel.h>
|
||||||
#include <rtabmap/core/StereoCameraModel.h>
|
#include <rtabmap/core/StereoCameraModel.h>
|
||||||
@@ -48,7 +48,7 @@ namespace rtabmap
|
|||||||
/**
|
/**
|
||||||
* An id is automatically generated if id=0.
|
* An id is automatically generated if id=0.
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP SensorData
|
class RTABMAP_CORE_EXPORT SensorData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// empty constructor
|
// empty constructor
|
||||||
@@ -210,10 +210,14 @@ public:
|
|||||||
cv::Mat depthRaw() const {return _depthOrRightRaw.type()!=CV_8UC1?_depthOrRightRaw:cv::Mat();}
|
cv::Mat depthRaw() const {return _depthOrRightRaw.type()!=CV_8UC1?_depthOrRightRaw:cv::Mat();}
|
||||||
cv::Mat rightRaw() const {return _depthOrRightRaw.type()==CV_8UC1?_depthOrRightRaw:cv::Mat();}
|
cv::Mat rightRaw() const {return _depthOrRightRaw.type()==CV_8UC1?_depthOrRightRaw:cv::Mat();}
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(void setImageRaw(const cv::Mat & image), "Use setRGBDImage() or setStereoImage() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.");
|
// Use setRGBDImage() or setStereoImage() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.
|
||||||
RTABMAP_DEPRECATED(void setDepthOrRightRaw(const cv::Mat & image), "Use setRGBDImage() or setStereoImage() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.");
|
RTABMAP_DEPRECATED void setImageRaw(const cv::Mat & image);
|
||||||
RTABMAP_DEPRECATED(void setLaserScanRaw(const LaserScan & scan), "Use setLaserScan() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.");
|
// Use setRGBDImage() or setStereoImage() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.
|
||||||
RTABMAP_DEPRECATED(void setUserDataRaw(const cv::Mat & data), "Use setUserData() or removeRawData() instead.");
|
RTABMAP_DEPRECATED void setDepthOrRightRaw(const cv::Mat & image);
|
||||||
|
// Use setLaserScan() with clearNotUpdated=false or removeRawData() instead. To be backward compatible, this function doesn't clear compressed data.
|
||||||
|
RTABMAP_DEPRECATED void setLaserScanRaw(const LaserScan & scan);
|
||||||
|
// Use setUserData() or removeRawData() instead.
|
||||||
|
RTABMAP_DEPRECATED void setUserDataRaw(const cv::Mat & data);
|
||||||
|
|
||||||
void uncompressData();
|
void uncompressData();
|
||||||
void uncompressData(
|
void uncompressData(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
@@ -45,7 +45,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP Signature
|
class RTABMAP_CORE_EXPORT Signature
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef STATISTICS_H_
|
#ifndef STATISTICS_H_
|
||||||
#define STATISTICS_H_
|
#define STATISTICS_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <opencv2/features2d/features2d.hpp>
|
#include <opencv2/features2d/features2d.hpp>
|
||||||
@@ -50,7 +50,7 @@ namespace rtabmap {
|
|||||||
}; \
|
}; \
|
||||||
Dummy##PREFIX##NAME dummy##PREFIX##NAME
|
Dummy##PREFIX##NAME dummy##PREFIX##NAME
|
||||||
|
|
||||||
class RTABMAP_EXP Statistics
|
class RTABMAP_CORE_EXPORT Statistics
|
||||||
{
|
{
|
||||||
RTABMAP_STATS(Loop, Id,); // Combined loop or proximity detection
|
RTABMAP_STATS(Loop, Id,); // Combined loop or proximity detection
|
||||||
RTABMAP_STATS(Loop, RejectedHypothesis,);
|
RTABMAP_STATS(Loop, RejectedHypothesis,);
|
||||||
@@ -236,7 +236,8 @@ public:
|
|||||||
void setProximityDetectionMapId(int id) {_proximiyDetectionMapId = id;}
|
void setProximityDetectionMapId(int id) {_proximiyDetectionMapId = id;}
|
||||||
void setStamp(double stamp) {_stamp = stamp;}
|
void setStamp(double stamp) {_stamp = stamp;}
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(void setLastSignatureData(const Signature & data), "Use addSignatureData() instead.");
|
// Use addSignatureData() instead.
|
||||||
|
RTABMAP_DEPRECATED void setLastSignatureData(const Signature & data);
|
||||||
void addSignatureData(const Signature & data) {_signaturesData.insert(std::make_pair(data.id(), data));}
|
void addSignatureData(const Signature & data) {_signaturesData.insert(std::make_pair(data.id(), data));}
|
||||||
void setSignaturesData(const std::map<int, Signature> & data) {_signaturesData = data;}
|
void setSignaturesData(const std::map<int, Signature> & data) {_signaturesData = data;}
|
||||||
|
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef STEREO_H_
|
#ifndef STEREO_H_
|
||||||
#define STEREO_H_
|
#define STEREO_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP Stereo {
|
class RTABMAP_CORE_EXPORT Stereo {
|
||||||
public:
|
public:
|
||||||
static Stereo * create(const ParametersMap & parameters = ParametersMap());
|
static Stereo * create(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ private:
|
|||||||
bool winSSD_;
|
bool winSSD_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RTABMAP_EXP StereoOpticalFlow : public Stereo {
|
class RTABMAP_CORE_EXPORT StereoOpticalFlow : public Stereo {
|
||||||
public:
|
public:
|
||||||
StereoOpticalFlow(const ParametersMap & parameters = ParametersMap());
|
StereoOpticalFlow(const ParametersMap & parameters = ParametersMap());
|
||||||
virtual ~StereoOpticalFlow() {}
|
virtual ~StereoOpticalFlow() {}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP StereoCameraModel
|
class RTABMAP_CORE_EXPORT StereoCameraModel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
StereoCameraModel() : leftSuffix_("left"), rightSuffix_("right") {}
|
StereoCameraModel() : leftSuffix_("left"), rightSuffix_("right") {}
|
||||||
@@ -140,7 +140,7 @@ private:
|
|||||||
cv::Mat F_;
|
cv::Mat F_;
|
||||||
};
|
};
|
||||||
|
|
||||||
RTABMAP_EXP std::ostream& operator<<(std::ostream& os, const StereoCameraModel& model);
|
RTABMAP_CORE_EXPORT std::ostream& operator<<(std::ostream& os, const StereoCameraModel& model);
|
||||||
|
|
||||||
} // rtabmap
|
} // rtabmap
|
||||||
|
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef STEREODENSE_H_
|
#ifndef STEREODENSE_H_
|
||||||
#define STEREODENSE_H_
|
#define STEREODENSE_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP StereoDense {
|
class RTABMAP_CORE_EXPORT StereoDense {
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
kTypeBM = 0,
|
kTypeBM = 0,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef TRANSFORM_H_
|
#ifndef TRANSFORM_H_
|
||||||
#define TRANSFORM_H_
|
#define TRANSFORM_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <map>
|
#include <map>
|
||||||
@@ -38,7 +38,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP Transform
|
class RTABMAP_CORE_EXPORT Transform
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -168,16 +168,17 @@ public:
|
|||||||
static Transform getTransform(
|
static Transform getTransform(
|
||||||
const std::map<double, Transform> & tfBuffer,
|
const std::map<double, Transform> & tfBuffer,
|
||||||
const double & stamp);
|
const double & stamp);
|
||||||
RTABMAP_DEPRECATED(static Transform getClosestTransform(
|
// Use Transform::getTransform() instead to get always accurate transforms.
|
||||||
|
RTABMAP_DEPRECATED static Transform getClosestTransform(
|
||||||
const std::map<double, Transform> & tfBuffer,
|
const std::map<double, Transform> & tfBuffer,
|
||||||
const double & stamp,
|
const double & stamp,
|
||||||
double * stampDiff), "Use Transform::getTransform() instead to get always accurate transforms.");
|
double * stampDiff);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cv::Mat data_;
|
cv::Mat data_;
|
||||||
};
|
};
|
||||||
|
|
||||||
RTABMAP_EXP std::ostream& operator<<(std::ostream& os, const Transform& s);
|
RTABMAP_CORE_EXPORT std::ostream& operator<<(std::ostream& os, const Transform& s);
|
||||||
|
|
||||||
class TransformStamped
|
class TransformStamped
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/highgui/highgui.hpp>
|
#include <opencv2/highgui/highgui.hpp>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
@@ -43,7 +43,7 @@ class DBDriver;
|
|||||||
class VisualWord;
|
class VisualWord;
|
||||||
class FlannIndex;
|
class FlannIndex;
|
||||||
|
|
||||||
class RTABMAP_EXP VWDictionary
|
class RTABMAP_CORE_EXPORT VWDictionary
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum NNStrategy{
|
enum NNStrategy{
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <map>
|
#include <map>
|
||||||
@@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP VisualWord
|
class RTABMAP_CORE_EXPORT VisualWord
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
VisualWord(int id, const cv::Mat & descriptor, int signatureId = 0);
|
VisualWord(int id, const cv::Mat & descriptor, int signatureId = 0);
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -43,7 +41,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraDepthAI :
|
class RTABMAP_CORE_EXPORT CameraDepthAI :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
@@ -41,7 +41,7 @@ namespace rtabmap
|
|||||||
|
|
||||||
class FreenectDevice;
|
class FreenectDevice;
|
||||||
|
|
||||||
class RTABMAP_EXP CameraFreenect :
|
class RTABMAP_CORE_EXPORT CameraFreenect :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -45,7 +43,7 @@ class PacketPipeline;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraFreenect2 :
|
class RTABMAP_CORE_EXPORT CameraFreenect2 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/utilite/UTimer.h"
|
#include "rtabmap/utilite/UTimer.h"
|
||||||
#include <list>
|
#include <list>
|
||||||
@@ -38,7 +36,7 @@ class UDirectory;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraImages :
|
class RTABMAP_CORE_EXPORT CameraImages :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/CameraModel.h"
|
#include "rtabmap/core/CameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -42,7 +40,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraK4A :
|
class RTABMAP_CORE_EXPORT CameraK4A :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/CameraModel.h"
|
#include "rtabmap/core/CameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -43,7 +41,7 @@ typedef struct IMultiSourceFrameReader IMultiSourceFrameReader;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraK4W2 :
|
class RTABMAP_CORE_EXPORT CameraK4W2 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
#include "rtabmap/utilite/USemaphore.h"
|
#include "rtabmap/utilite/USemaphore.h"
|
||||||
@@ -46,7 +44,7 @@ namespace rtabmap
|
|||||||
* Class CameraMyntEye
|
* Class CameraMyntEye
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class RTABMAP_EXP CameraMyntEye : public Camera
|
class RTABMAP_CORE_EXPORT CameraMyntEye : public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -41,7 +39,7 @@ class VideoStream;
|
|||||||
|
|
||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
class RTABMAP_EXP CameraOpenNI2 :
|
class RTABMAP_CORE_EXPORT CameraOpenNI2 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -27,15 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
|
|
||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraOpenNICV :
|
class RTABMAP_CORE_EXPORT CameraOpenNICV :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/utilite/UMutex.h"
|
#include "rtabmap/utilite/UMutex.h"
|
||||||
#include "rtabmap/utilite/USemaphore.h"
|
#include "rtabmap/utilite/USemaphore.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
@@ -56,7 +54,7 @@ class Grabber;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraOpenni :
|
class RTABMAP_CORE_EXPORT CameraOpenni :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraRGBDImages :
|
class RTABMAP_CORE_EXPORT CameraRGBDImages :
|
||||||
public CameraImages
|
public CameraImages
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,9 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
|
|
||||||
#include "rtabmap/utilite/UMutex.h"
|
#include "rtabmap/utilite/UMutex.h"
|
||||||
#include "rtabmap/utilite/USemaphore.h"
|
#include "rtabmap/utilite/USemaphore.h"
|
||||||
#include "rtabmap/core/CameraModel.h"
|
#include "rtabmap/core/CameraModel.h"
|
||||||
@@ -49,7 +46,7 @@ namespace rtabmap
|
|||||||
{
|
{
|
||||||
|
|
||||||
class slam_event_handler;
|
class slam_event_handler;
|
||||||
class RTABMAP_EXP CameraRealSense :
|
class RTABMAP_CORE_EXPORT CameraRealSense :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/CameraModel.h"
|
#include "rtabmap/core/CameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -53,7 +51,7 @@ struct rs2_extrinsics;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraRealSense2 :
|
class RTABMAP_CORE_EXPORT CameraRealSense2 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -38,7 +36,7 @@ namespace rtabmap
|
|||||||
|
|
||||||
class DC1394Device;
|
class DC1394Device;
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoDC1394 :
|
class RTABMAP_CORE_EXPORT CameraStereoDC1394 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
|
|
||||||
@@ -40,7 +38,7 @@ class Camera;
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoFlyCapture2 :
|
class RTABMAP_CORE_EXPORT CameraStereoFlyCapture2 :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <rtabmap/core/camera/CameraImages.h>
|
#include <rtabmap/core/camera/CameraImages.h>
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -37,7 +36,7 @@ namespace rtabmap
|
|||||||
{
|
{
|
||||||
|
|
||||||
class CameraImages;
|
class CameraImages;
|
||||||
class RTABMAP_EXP CameraStereoImages :
|
class RTABMAP_CORE_EXPORT CameraStereoImages :
|
||||||
public CameraImages
|
public CameraImages
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/camera/CameraVideo.h"
|
#include "rtabmap/core/camera/CameraVideo.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -42,7 +40,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoTara :
|
class RTABMAP_CORE_EXPORT CameraStereoTara :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,15 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/camera/CameraVideo.h"
|
#include "rtabmap/core/camera/CameraVideo.h"
|
||||||
|
|
||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoVideo :
|
class RTABMAP_CORE_EXPORT CameraStereoVideo :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/camera/CameraVideo.h"
|
#include "rtabmap/core/camera/CameraVideo.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -42,7 +40,7 @@ namespace rtabmap
|
|||||||
{
|
{
|
||||||
class ZedIMUThread;
|
class ZedIMUThread;
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoZed :
|
class RTABMAP_CORE_EXPORT CameraStereoZed :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include "rtabmap/core/StereoCameraModel.h"
|
#include "rtabmap/core/StereoCameraModel.h"
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
#include "rtabmap/core/Version.h"
|
#include "rtabmap/core/Version.h"
|
||||||
@@ -46,7 +44,7 @@ namespace rtabmap
|
|||||||
{
|
{
|
||||||
class ZedOCThread;
|
class ZedOCThread;
|
||||||
|
|
||||||
class RTABMAP_EXP CameraStereoZedOC :
|
class RTABMAP_CORE_EXPORT CameraStereoZedOC :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -27,15 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <opencv2/highgui/highgui.hpp>
|
#include <opencv2/highgui/highgui.hpp>
|
||||||
#include "rtabmap/core/Camera.h"
|
#include "rtabmap/core/Camera.h"
|
||||||
|
|
||||||
namespace rtabmap
|
namespace rtabmap
|
||||||
{
|
{
|
||||||
|
|
||||||
class RTABMAP_EXP CameraVideo :
|
class RTABMAP_CORE_EXPORT CameraVideo :
|
||||||
public Camera
|
public Camera
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -36,11 +36,11 @@ RTAB-Map integration: Mathieu Labbe
|
|||||||
#include <Eigen/Core>
|
#include <Eigen/Core>
|
||||||
#include <opencv2/opencv.hpp>
|
#include <opencv2/opencv.hpp>
|
||||||
#include <rtabmap/utilite/UMutex.h>
|
#include <rtabmap/utilite/UMutex.h>
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
namespace clams
|
namespace clams
|
||||||
{
|
{
|
||||||
class RTABMAP_EXP DiscreteFrustum
|
class RTABMAP_CORE_EXPORT DiscreteFrustum
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DiscreteFrustum(int smoothing = 1, double bin_depth = 1.0, double max_dist = 10.0);
|
DiscreteFrustum(int smoothing = 1, double bin_depth = 1.0, double max_dist = 10.0);
|
||||||
@@ -65,7 +65,7 @@ namespace clams
|
|||||||
friend class DiscreteDepthDistortionModel;
|
friend class DiscreteDepthDistortionModel;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RTABMAP_EXP DiscreteDepthDistortionModel
|
class RTABMAP_CORE_EXPORT DiscreteDepthDistortionModel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// returns all divisors of num
|
// returns all divisors of num
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ RTAB-Map integration: Mathieu Labbe
|
|||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <rtabmap/core/CameraModel.h>
|
#include <rtabmap/core/CameraModel.h>
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#define MAX_MULT 1.3
|
#define MAX_MULT 1.3
|
||||||
#define MIN_MULT 0.7
|
#define MIN_MULT 0.7
|
||||||
@@ -60,7 +59,7 @@ namespace clams
|
|||||||
|
|
||||||
//! This is essentially a pinhole camera model for an RGBD sensor, with
|
//! This is essentially a pinhole camera model for an RGBD sensor, with
|
||||||
//! some extra functions added on for use during calibration.
|
//! some extra functions added on for use during calibration.
|
||||||
class RTABMAP_EXP FrameProjector
|
class RTABMAP_CORE_EXPORT FrameProjector
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// For storing z values in meters. This is not Euclidean distance.
|
// For storing z values in meters. This is not Euclidean distance.
|
||||||
|
|||||||
@@ -35,12 +35,10 @@ RTAB-Map integration: Mathieu Labbe
|
|||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
namespace clams
|
namespace clams
|
||||||
{
|
{
|
||||||
|
|
||||||
DiscreteDepthDistortionModel RTABMAP_EXP calibrate(
|
DiscreteDepthDistortionModel RTABMAP_CORE_EXPORT calibrate(
|
||||||
const std::map<int, rtabmap::SensorData> & sequence,
|
const std::map<int, rtabmap::SensorData> & sequence,
|
||||||
const std::map<int, rtabmap::Transform> & trajectory,
|
const std::map<int, rtabmap::Transform> & trajectory,
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & map,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & map,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class RgbdCameraPyramid;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryDVO : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryDVO : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryDVO(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryDVO(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
class Registration;
|
class Registration;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryF2F : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryF2F : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryF2F(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryF2F(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class Signature;
|
|||||||
class Registration;
|
class Registration;
|
||||||
class Optimizer;
|
class Optimizer;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryF2M : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryF2M : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryF2M(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryF2M(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class OdomEstimationClass;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryFLOAM : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryFLOAM : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryFLOAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryFLOAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class StereoDepth;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryFovis : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryFovis : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryFovis(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryFovis(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryLOAM : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryLOAM : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryLOAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryLOAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace rtabmap {
|
|||||||
class ImageProcessorNoROS;
|
class ImageProcessorNoROS;
|
||||||
class MsckfVioNoROS;
|
class MsckfVioNoROS;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryMSCKF : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryMSCKF : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryMSCKF(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryMSCKF(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace rtabmap {
|
|||||||
class Memory;
|
class Memory;
|
||||||
class Feature2D;
|
class Feature2D;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryMono : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryMono : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryMono(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryMono(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class ORBSLAMSystem;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryORBSLAM : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryORBSLAM : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryORBSLAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryORBSLAM(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace okvis {
|
|||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class OkvisCallbackHandler;
|
class OkvisCallbackHandler;
|
||||||
class RTABMAP_EXP OdometryOkvis : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryOkvis : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryOkvis(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryOkvis(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryOpen3D : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryOpen3D : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryOpen3D(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryOpen3D(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class VioManager;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryOpenVINS : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryOpenVINS : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryOpenVINS(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryOpenVINS(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
class VinsEstimator;
|
class VinsEstimator;
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryVINS : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryVINS : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryVINS(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryVINS(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class VisualOdometryStereo;
|
|||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OdometryViso2 : public Odometry
|
class RTABMAP_CORE_EXPORT OdometryViso2 : public Odometry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryViso2(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
OdometryViso2(const rtabmap::ParametersMap & parameters = rtabmap::ParametersMap());
|
||||||
|
|||||||
@@ -28,13 +28,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZERCVSBA_H_
|
#ifndef OPTIMIZERCVSBA_H_
|
||||||
#define OPTIMIZERCVSBA_H_
|
#define OPTIMIZERCVSBA_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/Optimizer.h>
|
#include <rtabmap/core/Optimizer.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OptimizerCVSBA : public Optimizer
|
class RTABMAP_CORE_EXPORT OptimizerCVSBA : public Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -28,13 +28,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZERCERES_H_
|
#ifndef OPTIMIZERCERES_H_
|
||||||
#define OPTIMIZERCERES_H_
|
#define OPTIMIZERCERES_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/Optimizer.h>
|
#include <rtabmap/core/Optimizer.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OptimizerCeres : public Optimizer
|
class RTABMAP_CORE_EXPORT OptimizerCeres : public Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZERG2O_H_
|
#ifndef OPTIMIZERG2O_H_
|
||||||
#define OPTIMIZERG2O_H_
|
#define OPTIMIZERG2O_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
#include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
|
||||||
|
|
||||||
#include <rtabmap/core/Optimizer.h>
|
#include <rtabmap/core/Optimizer.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OptimizerG2O : public Optimizer
|
class RTABMAP_CORE_EXPORT OptimizerG2O : public Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -28,13 +28,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZERGTSAM_H_
|
#ifndef OPTIMIZERGTSAM_H_
|
||||||
#define OPTIMIZERGTSAM_H_
|
#define OPTIMIZERGTSAM_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/Optimizer.h>
|
#include <rtabmap/core/Optimizer.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OptimizerGTSAM : public Optimizer
|
class RTABMAP_CORE_EXPORT OptimizerGTSAM : public Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -28,13 +28,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef OPTIMIZERTORO_H_
|
#ifndef OPTIMIZERTORO_H_
|
||||||
#define OPTIMIZERTORO_H_
|
#define OPTIMIZERTORO_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/Optimizer.h>
|
#include <rtabmap/core/Optimizer.h>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP OptimizerTORO : public Optimizer
|
class RTABMAP_CORE_EXPORT OptimizerTORO : public Optimizer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool available();
|
static bool available();
|
||||||
|
|||||||
@@ -28,15 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef STEREOBM_H_
|
#ifndef STEREOBM_H_
|
||||||
#define STEREOBM_H_
|
#define STEREOBM_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/StereoDense.h>
|
#include <rtabmap/core/StereoDense.h>
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP StereoBM : public StereoDense {
|
class RTABMAP_CORE_EXPORT StereoBM : public StereoDense {
|
||||||
public:
|
public:
|
||||||
StereoBM(int blockSize, int numDisparities);
|
StereoBM(int blockSize, int numDisparities);
|
||||||
StereoBM(const ParametersMap & parameters = ParametersMap());
|
StereoBM(const ParametersMap & parameters = ParametersMap());
|
||||||
|
|||||||
@@ -28,15 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef STEREOSGBM_H_
|
#ifndef STEREOSGBM_H_
|
||||||
#define STEREOSGBM_H_
|
#define STEREOSGBM_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h" // DLL export/import defines
|
|
||||||
|
|
||||||
#include <rtabmap/core/StereoDense.h>
|
#include <rtabmap/core/StereoDense.h>
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
|
|
||||||
namespace rtabmap {
|
namespace rtabmap {
|
||||||
|
|
||||||
class RTABMAP_EXP StereoSGBM : public StereoDense {
|
class RTABMAP_CORE_EXPORT StereoSGBM : public StereoDense {
|
||||||
public:
|
public:
|
||||||
StereoSGBM(const ParametersMap & parameters = ParametersMap());
|
StereoSGBM(const ParametersMap & parameters = ParametersMap());
|
||||||
virtual ~StereoSGBM() {}
|
virtual ~StereoSGBM() {}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL2D_H_
|
#ifndef UTIL2D_H_
|
||||||
#define UTIL2D_H_
|
#define UTIL2D_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
@@ -42,11 +42,11 @@ namespace util2d
|
|||||||
{
|
{
|
||||||
|
|
||||||
// SSD: Sum of Squared Differences
|
// SSD: Sum of Squared Differences
|
||||||
float RTABMAP_EXP ssd(const cv::Mat & windowLeft, const cv::Mat & windowRight);
|
float RTABMAP_CORE_EXPORT ssd(const cv::Mat & windowLeft, const cv::Mat & windowRight);
|
||||||
// SAD: Sum of Absolute intensity Differences
|
// SAD: Sum of Absolute intensity Differences
|
||||||
float RTABMAP_EXP sad(const cv::Mat & windowLeft, const cv::Mat & windowRight);
|
float RTABMAP_CORE_EXPORT sad(const cv::Mat & windowLeft, const cv::Mat & windowRight);
|
||||||
|
|
||||||
std::vector<cv::Point2f> RTABMAP_EXP calcStereoCorrespondences(
|
std::vector<cv::Point2f> RTABMAP_CORE_EXPORT calcStereoCorrespondences(
|
||||||
const cv::Mat & leftImage,
|
const cv::Mat & leftImage,
|
||||||
const cv::Mat & rightImage,
|
const cv::Mat & rightImage,
|
||||||
const std::vector<cv::Point2f> & leftCorners,
|
const std::vector<cv::Point2f> & leftCorners,
|
||||||
@@ -59,7 +59,7 @@ std::vector<cv::Point2f> RTABMAP_EXP calcStereoCorrespondences(
|
|||||||
bool ssdApproach = true); // SSD by default, otherwise it is SAD
|
bool ssdApproach = true); // SSD by default, otherwise it is SAD
|
||||||
|
|
||||||
// exactly as cv::calcOpticalFlowPyrLK but it should be called with pyramid (from cv::buildOpticalFlowPyramid()) and delta drops the y error.
|
// exactly as cv::calcOpticalFlowPyrLK but it should be called with pyramid (from cv::buildOpticalFlowPyramid()) and delta drops the y error.
|
||||||
void RTABMAP_EXP calcOpticalFlowPyrLKStereo( cv::InputArray _prevImg, cv::InputArray _nextImg,
|
void RTABMAP_CORE_EXPORT calcOpticalFlowPyrLKStereo( cv::InputArray _prevImg, cv::InputArray _nextImg,
|
||||||
cv::InputArray _prevPts, cv::InputOutputArray _nextPts,
|
cv::InputArray _prevPts, cv::InputOutputArray _nextPts,
|
||||||
cv::OutputArray _status, cv::OutputArray _err,
|
cv::OutputArray _status, cv::OutputArray _err,
|
||||||
cv::Size winSize = cv::Size(15,3), int maxLevel = 3,
|
cv::Size winSize = cv::Size(15,3), int maxLevel = 3,
|
||||||
@@ -67,16 +67,16 @@ void RTABMAP_EXP calcOpticalFlowPyrLKStereo( cv::InputArray _prevImg, cv::InputA
|
|||||||
int flags = 0, double minEigThreshold = 1e-4 );
|
int flags = 0, double minEigThreshold = 1e-4 );
|
||||||
|
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP disparityFromStereoImages(
|
cv::Mat RTABMAP_CORE_EXPORT disparityFromStereoImages(
|
||||||
const cv::Mat & leftImage,
|
const cv::Mat & leftImage,
|
||||||
const cv::Mat & rightImage,
|
const cv::Mat & rightImage,
|
||||||
const ParametersMap & parameters = ParametersMap());
|
const ParametersMap & parameters = ParametersMap());
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP depthFromDisparity(const cv::Mat & disparity,
|
cv::Mat RTABMAP_CORE_EXPORT depthFromDisparity(const cv::Mat & disparity,
|
||||||
float fx, float baseline,
|
float fx, float baseline,
|
||||||
int type = CV_32FC1); // CV_32FC1 or CV_16UC1
|
int type = CV_32FC1); // CV_32FC1 or CV_16UC1
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP depthFromStereoImages(
|
cv::Mat RTABMAP_CORE_EXPORT depthFromStereoImages(
|
||||||
const cv::Mat & leftImage,
|
const cv::Mat & leftImage,
|
||||||
const cv::Mat & rightImage,
|
const cv::Mat & rightImage,
|
||||||
const std::vector<cv::Point2f> & leftCorners,
|
const std::vector<cv::Point2f> & leftCorners,
|
||||||
@@ -87,63 +87,63 @@ cv::Mat RTABMAP_EXP depthFromStereoImages(
|
|||||||
int flowIterations = 20,
|
int flowIterations = 20,
|
||||||
double flowEps = 0.02);
|
double flowEps = 0.02);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP disparityFromStereoCorrespondences(
|
cv::Mat RTABMAP_CORE_EXPORT disparityFromStereoCorrespondences(
|
||||||
const cv::Size & disparitySize,
|
const cv::Size & disparitySize,
|
||||||
const std::vector<cv::Point2f> & leftCorners,
|
const std::vector<cv::Point2f> & leftCorners,
|
||||||
const std::vector<cv::Point2f> & rightCorners,
|
const std::vector<cv::Point2f> & rightCorners,
|
||||||
const std::vector<unsigned char> & mask);
|
const std::vector<unsigned char> & mask);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP depthFromStereoCorrespondences(
|
cv::Mat RTABMAP_CORE_EXPORT depthFromStereoCorrespondences(
|
||||||
const cv::Mat & leftImage,
|
const cv::Mat & leftImage,
|
||||||
const std::vector<cv::Point2f> & leftCorners,
|
const std::vector<cv::Point2f> & leftCorners,
|
||||||
const std::vector<cv::Point2f> & rightCorners,
|
const std::vector<cv::Point2f> & rightCorners,
|
||||||
const std::vector<unsigned char> & mask,
|
const std::vector<unsigned char> & mask,
|
||||||
float fx, float baseline);
|
float fx, float baseline);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
|
cv::Mat RTABMAP_CORE_EXPORT cvtDepthFromFloat(const cv::Mat & depth32F);
|
||||||
cv::Mat RTABMAP_EXP cvtDepthToFloat(const cv::Mat & depth16U);
|
cv::Mat RTABMAP_CORE_EXPORT cvtDepthToFloat(const cv::Mat & depth16U);
|
||||||
|
|
||||||
float RTABMAP_EXP getDepth(
|
float RTABMAP_CORE_EXPORT getDepth(
|
||||||
const cv::Mat & depthImage,
|
const cv::Mat & depthImage,
|
||||||
float x, float y,
|
float x, float y,
|
||||||
bool smoothing,
|
bool smoothing,
|
||||||
float depthErrorRatio = 0.02f, //ratio
|
float depthErrorRatio = 0.02f, //ratio
|
||||||
bool estWithNeighborsIfNull = false);
|
bool estWithNeighborsIfNull = false);
|
||||||
|
|
||||||
cv::Rect RTABMAP_EXP computeRoi(const cv::Mat & image, const std::string & roiRatios);
|
cv::Rect RTABMAP_CORE_EXPORT computeRoi(const cv::Mat & image, const std::string & roiRatios);
|
||||||
cv::Rect RTABMAP_EXP computeRoi(const cv::Size & imageSize, const std::string & roiRatios);
|
cv::Rect RTABMAP_CORE_EXPORT computeRoi(const cv::Size & imageSize, const std::string & roiRatios);
|
||||||
cv::Rect RTABMAP_EXP computeRoi(const cv::Mat & image, const std::vector<float> & roiRatios);
|
cv::Rect RTABMAP_CORE_EXPORT computeRoi(const cv::Mat & image, const std::vector<float> & roiRatios);
|
||||||
cv::Rect RTABMAP_EXP computeRoi(const cv::Size & imageSize, const std::vector<float> & roiRatios);
|
cv::Rect RTABMAP_CORE_EXPORT computeRoi(const cv::Size & imageSize, const std::vector<float> & roiRatios);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP decimate(const cv::Mat & image, int d);
|
cv::Mat RTABMAP_CORE_EXPORT decimate(const cv::Mat & image, int d);
|
||||||
cv::Mat RTABMAP_EXP interpolate(const cv::Mat & image, int factor, float depthErrorRatio = 0.02f);
|
cv::Mat RTABMAP_CORE_EXPORT interpolate(const cv::Mat & image, int factor, float depthErrorRatio = 0.02f);
|
||||||
|
|
||||||
// Registration Depth to RGB (return registered depth image)
|
// Registration Depth to RGB (return registered depth image)
|
||||||
cv::Mat RTABMAP_EXP registerDepth(
|
cv::Mat RTABMAP_CORE_EXPORT registerDepth(
|
||||||
const cv::Mat & depth,
|
const cv::Mat & depth,
|
||||||
const cv::Mat & depthK,
|
const cv::Mat & depthK,
|
||||||
const cv::Size & colorSize,
|
const cv::Size & colorSize,
|
||||||
const cv::Mat & colorK,
|
const cv::Mat & colorK,
|
||||||
const rtabmap::Transform & transform);
|
const rtabmap::Transform & transform);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP fillDepthHoles(
|
cv::Mat RTABMAP_CORE_EXPORT fillDepthHoles(
|
||||||
const cv::Mat & depth,
|
const cv::Mat & depth,
|
||||||
int maximumHoleSize = 1,
|
int maximumHoleSize = 1,
|
||||||
float errorRatio = 0.02f);
|
float errorRatio = 0.02f);
|
||||||
|
|
||||||
void RTABMAP_EXP fillRegisteredDepthHoles(
|
void RTABMAP_CORE_EXPORT fillRegisteredDepthHoles(
|
||||||
cv::Mat & depthRegistered,
|
cv::Mat & depthRegistered,
|
||||||
bool vertical,
|
bool vertical,
|
||||||
bool horizontal,
|
bool horizontal,
|
||||||
bool fillDoubleHoles = false);
|
bool fillDoubleHoles = false);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP fastBilateralFiltering(
|
cv::Mat RTABMAP_CORE_EXPORT fastBilateralFiltering(
|
||||||
const cv::Mat & depth,
|
const cv::Mat & depth,
|
||||||
float sigmaS = 15.0f,
|
float sigmaS = 15.0f,
|
||||||
float sigmaR = 0.05f,
|
float sigmaR = 0.05f,
|
||||||
bool earlyDivision = false);
|
bool earlyDivision = false);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP brightnessAndContrastAuto(
|
cv::Mat RTABMAP_CORE_EXPORT brightnessAndContrastAuto(
|
||||||
const cv::Mat & src,
|
const cv::Mat & src,
|
||||||
const cv::Mat & mask,
|
const cv::Mat & mask,
|
||||||
float clipLowHistPercent=0,
|
float clipLowHistPercent=0,
|
||||||
@@ -151,10 +151,10 @@ cv::Mat RTABMAP_EXP brightnessAndContrastAuto(
|
|||||||
float * alphaOut = 0,
|
float * alphaOut = 0,
|
||||||
float * betaOut = 0);
|
float * betaOut = 0);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP exposureFusion(
|
cv::Mat RTABMAP_CORE_EXPORT exposureFusion(
|
||||||
const std::vector<cv::Mat> & images);
|
const std::vector<cv::Mat> & images);
|
||||||
|
|
||||||
void RTABMAP_EXP HSVtoRGB( float *r, float *g, float *b, float h, float s, float v );
|
void RTABMAP_CORE_EXPORT HSVtoRGB( float *r, float *g, float *b, float h, float s, float v );
|
||||||
|
|
||||||
} // namespace util3d
|
} // namespace util3d
|
||||||
} // namespace rtabmap
|
} // namespace rtabmap
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_H_
|
#ifndef UTIL3D_H_
|
||||||
#define UTIL3D_H_
|
#define UTIL3D_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h"
|
#include "rtabmap/core/rtabmap_core_export.h"
|
||||||
|
|
||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
@@ -48,17 +48,17 @@ namespace rtabmap
|
|||||||
namespace util3d
|
namespace util3d
|
||||||
{
|
{
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP rgbFromCloud(
|
cv::Mat RTABMAP_CORE_EXPORT rgbFromCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
||||||
bool bgrOrder = true);
|
bool bgrOrder = true);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP depthFromCloud(
|
cv::Mat RTABMAP_CORE_EXPORT depthFromCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
||||||
float & fx,
|
float & fx,
|
||||||
float & fy,
|
float & fy,
|
||||||
bool depth16U = true);
|
bool depth16U = true);
|
||||||
|
|
||||||
void RTABMAP_EXP rgbdFromCloud(
|
void RTABMAP_CORE_EXPORT rgbdFromCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBA> & cloud,
|
||||||
cv::Mat & rgb,
|
cv::Mat & rgb,
|
||||||
cv::Mat & depth,
|
cv::Mat & depth,
|
||||||
@@ -67,7 +67,7 @@ void RTABMAP_EXP rgbdFromCloud(
|
|||||||
bool bgrOrder = true,
|
bool bgrOrder = true,
|
||||||
bool depth16U = true);
|
bool depth16U = true);
|
||||||
|
|
||||||
pcl::PointXYZ RTABMAP_EXP projectDepthTo3D(
|
pcl::PointXYZ RTABMAP_CORE_EXPORT projectDepthTo3D(
|
||||||
const cv::Mat & depthImage,
|
const cv::Mat & depthImage,
|
||||||
float x, float y,
|
float x, float y,
|
||||||
float cx, float cy,
|
float cx, float cy,
|
||||||
@@ -75,21 +75,22 @@ pcl::PointXYZ RTABMAP_EXP projectDepthTo3D(
|
|||||||
bool smoothing,
|
bool smoothing,
|
||||||
float depthErrorRatio = 0.02f);
|
float depthErrorRatio = 0.02f);
|
||||||
|
|
||||||
Eigen::Vector3f RTABMAP_EXP projectDepthTo3DRay(
|
Eigen::Vector3f RTABMAP_CORE_EXPORT projectDepthTo3DRay(
|
||||||
const cv::Size & imageSize,
|
const cv::Size & imageSize,
|
||||||
float x, float y,
|
float x, float y,
|
||||||
float cx, float cy,
|
float cx, float cy,
|
||||||
float fx, float fy);
|
float fx, float fy);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED (pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromDepth(
|
// Use cloudFromDepth with CameraModel interface.
|
||||||
|
RTABMAP_DEPRECATED pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT cloudFromDepth(
|
||||||
const cv::Mat & imageDepth,
|
const cv::Mat & imageDepth,
|
||||||
float cx, float cy,
|
float cx, float cy,
|
||||||
float fx, float fy,
|
float fx, float fy,
|
||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
float maxDepth = 0.0f,
|
float maxDepth = 0.0f,
|
||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0), "Use cloudFromDepth with CameraModel interface.");
|
std::vector<int> * validIndices = 0);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromDepth(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT cloudFromDepth(
|
||||||
const cv::Mat & imageDepth,
|
const cv::Mat & imageDepth,
|
||||||
const CameraModel & model,
|
const CameraModel & model,
|
||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
@@ -97,7 +98,8 @@ pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromDepth(
|
|||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0);
|
std::vector<int> * validIndices = 0);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED (pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromDepthRGB(
|
// Use cloudFromDepthRGB with CameraModel interface.
|
||||||
|
RTABMAP_DEPRECATED pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cloudFromDepthRGB(
|
||||||
const cv::Mat & imageRgb,
|
const cv::Mat & imageRgb,
|
||||||
const cv::Mat & imageDepth,
|
const cv::Mat & imageDepth,
|
||||||
float cx, float cy,
|
float cx, float cy,
|
||||||
@@ -105,8 +107,8 @@ RTABMAP_DEPRECATED (pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFrom
|
|||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
float maxDepth = 0.0f,
|
float maxDepth = 0.0f,
|
||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0), "Use cloudFromDepthRGB with CameraModel interface.");
|
std::vector<int> * validIndices = 0);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromDepthRGB(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cloudFromDepthRGB(
|
||||||
const cv::Mat & imageRgb,
|
const cv::Mat & imageRgb,
|
||||||
const cv::Mat & imageDepth,
|
const cv::Mat & imageDepth,
|
||||||
const CameraModel & model,
|
const CameraModel & model,
|
||||||
@@ -115,7 +117,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromDepthRGB(
|
|||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0);
|
std::vector<int> * validIndices = 0);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromDisparity(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT cloudFromDisparity(
|
||||||
const cv::Mat & imageDisparity,
|
const cv::Mat & imageDisparity,
|
||||||
const StereoCameraModel & model,
|
const StereoCameraModel & model,
|
||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
@@ -123,7 +125,7 @@ pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromDisparity(
|
|||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0);
|
std::vector<int> * validIndices = 0);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromDisparityRGB(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cloudFromDisparityRGB(
|
||||||
const cv::Mat & imageRgb,
|
const cv::Mat & imageRgb,
|
||||||
const cv::Mat & imageDisparity,
|
const cv::Mat & imageDisparity,
|
||||||
const StereoCameraModel & model,
|
const StereoCameraModel & model,
|
||||||
@@ -132,7 +134,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromDisparityRGB(
|
|||||||
float minDepth = 0.0f,
|
float minDepth = 0.0f,
|
||||||
std::vector<int> * validIndices = 0);
|
std::vector<int> * validIndices = 0);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromStereoImages(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cloudFromStereoImages(
|
||||||
const cv::Mat & imageLeft,
|
const cv::Mat & imageLeft,
|
||||||
const cv::Mat & imageRight,
|
const cv::Mat & imageRight,
|
||||||
const StereoCameraModel & model,
|
const StereoCameraModel & model,
|
||||||
@@ -142,7 +144,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudFromStereoImages(
|
|||||||
std::vector<int> * validIndices = 0,
|
std::vector<int> * validIndices = 0,
|
||||||
const ParametersMap & parameters = ParametersMap());
|
const ParametersMap & parameters = ParametersMap());
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromSensorData(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT cloudFromSensorData(
|
||||||
const SensorData & sensorData,
|
const SensorData & sensorData,
|
||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
float maxDepth = 0.0f,
|
float maxDepth = 0.0f,
|
||||||
@@ -165,7 +167,7 @@ pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cloudFromSensorData(
|
|||||||
* @param roiRatios, [left, right, top, bottom] region of interest (in ratios) of the image projected.
|
* @param roiRatios, [left, right, top, bottom] region of interest (in ratios) of the image projected.
|
||||||
* @return a RGB cloud.
|
* @return a RGB cloud.
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudRGBFromSensorData(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cloudRGBFromSensorData(
|
||||||
const SensorData & sensorData,
|
const SensorData & sensorData,
|
||||||
int decimation = 1,
|
int decimation = 1,
|
||||||
float maxDepth = 0.0f,
|
float maxDepth = 0.0f,
|
||||||
@@ -177,7 +179,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cloudRGBFromSensorData(
|
|||||||
/**
|
/**
|
||||||
* Simulate a laser scan rotating counterclockwise, using middle line of the depth image.
|
* Simulate a laser scan rotating counterclockwise, using middle line of the depth image.
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointXYZ> RTABMAP_EXP laserScanFromDepthImage(
|
pcl::PointCloud<pcl::PointXYZ> RTABMAP_CORE_EXPORT laserScanFromDepthImage(
|
||||||
const cv::Mat & depthImage,
|
const cv::Mat & depthImage,
|
||||||
float fx,
|
float fx,
|
||||||
float fy,
|
float fy,
|
||||||
@@ -191,7 +193,7 @@ pcl::PointCloud<pcl::PointXYZ> RTABMAP_EXP laserScanFromDepthImage(
|
|||||||
* The last value of the scan is the most left value of the first depth image. The first value of the scan is the most right value of the last depth image.
|
* The last value of the scan is the most left value of the first depth image. The first value of the scan is the most right value of the last depth image.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointXYZ> RTABMAP_EXP laserScanFromDepthImages(
|
pcl::PointCloud<pcl::PointXYZ> RTABMAP_CORE_EXPORT laserScanFromDepthImages(
|
||||||
const cv::Mat & depthImages,
|
const cv::Mat & depthImages,
|
||||||
const std::vector<CameraModel> & cameraModels,
|
const std::vector<CameraModel> & cameraModels,
|
||||||
float maxDepth,
|
float maxDepth,
|
||||||
@@ -200,104 +202,104 @@ pcl::PointCloud<pcl::PointXYZ> RTABMAP_EXP laserScanFromDepthImages(
|
|||||||
template<typename PointCloud2T>
|
template<typename PointCloud2T>
|
||||||
LaserScan laserScanFromPointCloud(const PointCloud2T & cloud, bool filterNaNs = true, bool is2D = false, const Transform & transform = Transform());
|
LaserScan laserScanFromPointCloud(const PointCloud2T & cloud, bool filterNaNs = true, bool is2D = false, const Transform & transform = Transform());
|
||||||
// return CV_32FC3 (x,y,z)
|
// return CV_32FC3 (x,y,z)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC6 (x,y,z,normal_x,normal_y,normal_z)
|
// return CV_32FC6 (x,y,z,normal_x,normal_y,normal_z)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC4 (x,y,z,rgb)
|
// return CV_32FC4 (x,y,z,rgb)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC4 (x,y,z,I)
|
// return CV_32FC4 (x,y,z,I)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC7 (x,y,z,rgb,normal_x,normal_y,normal_z)
|
// return CV_32FC7 (x,y,z,rgb,normal_x,normal_y,normal_z)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGB> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC7 (x,y,z,I,normal_x,normal_y,normal_z)
|
// return CV_32FC7 (x,y,z,I,normal_x,normal_y,normal_z)
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScanFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const pcl::IndicesPtr & indices, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC2 (x,y)
|
// return CV_32FC2 (x,y)
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC3 (x,y,I)
|
// return CV_32FC3 (x,y,I)
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC5 (x,y,normal_x, normal_y, normal_z)
|
// return CV_32FC5 (x,y,normal_x, normal_y, normal_z)
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointNormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZ> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
// return CV_32FC6 (x,y,I,normal_x, normal_y, normal_z)
|
// return CV_32FC6 (x,y,I,normal_x, normal_y, normal_z)
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZINormal> & cloud, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
LaserScan RTABMAP_EXP laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
LaserScan RTABMAP_CORE_EXPORT laserScan2dFromPointCloud(const pcl::PointCloud<pcl::PointXYZI> & cloud, const pcl::PointCloud<pcl::Normal> & normals, const Transform & transform = Transform(), bool filterNaNs = true);
|
||||||
|
|
||||||
pcl::PCLPointCloud2::Ptr RTABMAP_EXP laserScanToPointCloud2(const LaserScan & laserScan, const Transform & transform = Transform());
|
pcl::PCLPointCloud2::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloud2(const LaserScan & laserScan, const Transform & transform = Transform());
|
||||||
// For 2d laserScan, z is set to null.
|
// For 2d laserScan, z is set to null.
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP laserScanToPointCloud(const LaserScan & laserScan, const Transform & transform = Transform());
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloud(const LaserScan & laserScan, const Transform & transform = Transform());
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP laserScanToPointCloudNormal(const LaserScan & laserScan, const Transform & transform = Transform());
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloudNormal(const LaserScan & laserScan, const Transform & transform = Transform());
|
||||||
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP laserScanToPointCloudRGB(const LaserScan & laserScan, const Transform & transform = Transform(), unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloudRGB(const LaserScan & laserScan, const Transform & transform = Transform(), unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
||||||
// For laserScan without intensity, intensity is set to intensity parameter.
|
// For laserScan without intensity, intensity is set to intensity parameter.
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP laserScanToPointCloudI(const LaserScan & laserScan, const Transform & transform = Transform(), float intensity = 0.0f);
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloudI(const LaserScan & laserScan, const Transform & transform = Transform(), float intensity = 0.0f);
|
||||||
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP laserScanToPointCloudRGBNormal(const LaserScan & laserScan, const Transform & transform = Transform(), unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloudRGBNormal(const LaserScan & laserScan, const Transform & transform = Transform(), unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
||||||
// For laserScan without intensity, intensity is set to default intensity parameter.
|
// For laserScan without intensity, intensity is set to default intensity parameter.
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP laserScanToPointCloudINormal(const LaserScan & laserScan, const Transform & transform = Transform(), float intensity = 0.0f);
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT laserScanToPointCloudINormal(const LaserScan & laserScan, const Transform & transform = Transform(), float intensity = 0.0f);
|
||||||
|
|
||||||
// For 2d laserScan, z is set to null.
|
// For 2d laserScan, z is set to null.
|
||||||
pcl::PointXYZ RTABMAP_EXP laserScanToPoint(const LaserScan & laserScan, int index);
|
pcl::PointXYZ RTABMAP_CORE_EXPORT laserScanToPoint(const LaserScan & laserScan, int index);
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointNormal RTABMAP_EXP laserScanToPointNormal(const LaserScan & laserScan, int index);
|
pcl::PointNormal RTABMAP_CORE_EXPORT laserScanToPointNormal(const LaserScan & laserScan, int index);
|
||||||
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
||||||
pcl::PointXYZRGB RTABMAP_EXP laserScanToPointRGB(const LaserScan & laserScan, int index, unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
pcl::PointXYZRGB RTABMAP_CORE_EXPORT laserScanToPointRGB(const LaserScan & laserScan, int index, unsigned char r = 100, unsigned char g = 100, unsigned char b = 100);
|
||||||
// For laserScan without intensity, intensity is set to intensity parameter.
|
// For laserScan without intensity, intensity is set to intensity parameter.
|
||||||
pcl::PointXYZI RTABMAP_EXP laserScanToPointI(const LaserScan & laserScan, int index, float intensity);
|
pcl::PointXYZI RTABMAP_CORE_EXPORT laserScanToPointI(const LaserScan & laserScan, int index, float intensity);
|
||||||
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
// For laserScan without rgb, rgb is set to default r,g,b parameters.
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointXYZRGBNormal RTABMAP_EXP laserScanToPointRGBNormal(const LaserScan & laserScan, int index, unsigned char r, unsigned char g, unsigned char b);
|
pcl::PointXYZRGBNormal RTABMAP_CORE_EXPORT laserScanToPointRGBNormal(const LaserScan & laserScan, int index, unsigned char r, unsigned char g, unsigned char b);
|
||||||
// For laserScan without intensity, intensity is set to default intensity parameter.
|
// For laserScan without intensity, intensity is set to default intensity parameter.
|
||||||
// For laserScan without normals, normals are set to null.
|
// For laserScan without normals, normals are set to null.
|
||||||
pcl::PointXYZINormal RTABMAP_EXP laserScanToPointINormal(const LaserScan & laserScan, int index, float intensity);
|
pcl::PointXYZINormal RTABMAP_CORE_EXPORT laserScanToPointINormal(const LaserScan & laserScan, int index, float intensity);
|
||||||
|
|
||||||
void RTABMAP_EXP getMinMax3D(const cv::Mat & laserScan, cv::Point3f & min, cv::Point3f & max);
|
void RTABMAP_CORE_EXPORT getMinMax3D(const cv::Mat & laserScan, cv::Point3f & min, cv::Point3f & max);
|
||||||
void RTABMAP_EXP getMinMax3D(const cv::Mat & laserScan, pcl::PointXYZ & min, pcl::PointXYZ & max);
|
void RTABMAP_CORE_EXPORT getMinMax3D(const cv::Mat & laserScan, pcl::PointXYZ & min, pcl::PointXYZ & max);
|
||||||
|
|
||||||
cv::Point3f RTABMAP_EXP projectDisparityTo3D(
|
cv::Point3f RTABMAP_CORE_EXPORT projectDisparityTo3D(
|
||||||
const cv::Point2f & pt,
|
const cv::Point2f & pt,
|
||||||
float disparity,
|
float disparity,
|
||||||
const StereoCameraModel & model);
|
const StereoCameraModel & model);
|
||||||
|
|
||||||
cv::Point3f RTABMAP_EXP projectDisparityTo3D(
|
cv::Point3f RTABMAP_CORE_EXPORT projectDisparityTo3D(
|
||||||
const cv::Point2f & pt,
|
const cv::Point2f & pt,
|
||||||
const cv::Mat & disparity,
|
const cv::Mat & disparity,
|
||||||
const StereoCameraModel & model);
|
const StereoCameraModel & model);
|
||||||
|
|
||||||
// Register point cloud to camera (return registered depth image 32FC1)
|
// Register point cloud to camera (return registered depth image 32FC1)
|
||||||
cv::Mat RTABMAP_EXP projectCloudToCamera(
|
cv::Mat RTABMAP_CORE_EXPORT projectCloudToCamera(
|
||||||
const cv::Size & imageSize,
|
const cv::Size & imageSize,
|
||||||
const cv::Mat & cameraMatrixK,
|
const cv::Mat & cameraMatrixK,
|
||||||
const cv::Mat & laserScan, // assuming points are already in /base_link coordinate
|
const cv::Mat & laserScan, // assuming points are already in /base_link coordinate
|
||||||
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
||||||
|
|
||||||
// Register point cloud to camera (return registered depth image 32FC1)
|
// Register point cloud to camera (return registered depth image 32FC1)
|
||||||
cv::Mat RTABMAP_EXP projectCloudToCamera(
|
cv::Mat RTABMAP_CORE_EXPORT projectCloudToCamera(
|
||||||
const cv::Size & imageSize,
|
const cv::Size & imageSize,
|
||||||
const cv::Mat & cameraMatrixK,
|
const cv::Mat & cameraMatrixK,
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr laserScan, // assuming points are already in /base_link coordinate
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr laserScan, // assuming points are already in /base_link coordinate
|
||||||
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
||||||
|
|
||||||
// Register point cloud to camera (return registered depth image 32FC1)
|
// Register point cloud to camera (return registered depth image 32FC1)
|
||||||
cv::Mat RTABMAP_EXP projectCloudToCamera(
|
cv::Mat RTABMAP_CORE_EXPORT projectCloudToCamera(
|
||||||
const cv::Size & imageSize,
|
const cv::Size & imageSize,
|
||||||
const cv::Mat & cameraMatrixK,
|
const cv::Mat & cameraMatrixK,
|
||||||
const pcl::PCLPointCloud2::Ptr laserScan, // assuming points are already in /base_link coordinate
|
const pcl::PCLPointCloud2::Ptr laserScan, // assuming points are already in /base_link coordinate
|
||||||
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
const rtabmap::Transform & cameraTransform); // /base_link -> /camera_link
|
||||||
|
|
||||||
// Direction vertical (>=0), horizontal (<0)
|
// Direction vertical (>=0), horizontal (<0)
|
||||||
void RTABMAP_EXP fillProjectedCloudHoles(
|
void RTABMAP_CORE_EXPORT fillProjectedCloudHoles(
|
||||||
cv::Mat & depthRegistered,
|
cv::Mat & depthRegistered,
|
||||||
bool verticalDirection,
|
bool verticalDirection,
|
||||||
bool fillToBorder);
|
bool fillToBorder);
|
||||||
@@ -306,7 +308,7 @@ void RTABMAP_EXP fillProjectedCloudHoles(
|
|||||||
* For each point, return pixel of the best camera (NodeID->CameraIndex)
|
* For each point, return pixel of the best camera (NodeID->CameraIndex)
|
||||||
* looking at it based on the policy and parameters
|
* looking at it based on the policy and parameters
|
||||||
*/
|
*/
|
||||||
std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_EXP projectCloudToCameras (
|
std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_CORE_EXPORT projectCloudToCameras (
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal> & cloud,
|
||||||
const std::map<int, Transform> & cameraPoses,
|
const std::map<int, Transform> & cameraPoses,
|
||||||
const std::map<int, std::vector<CameraModel> > & cameraModels,
|
const std::map<int, std::vector<CameraModel> > & cameraModels,
|
||||||
@@ -320,7 +322,7 @@ std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_EXP projectC
|
|||||||
* For each point, return pixel of the best camera (NodeID->CameraIndex)
|
* For each point, return pixel of the best camera (NodeID->CameraIndex)
|
||||||
* looking at it based on the policy and parameters
|
* looking at it based on the policy and parameters
|
||||||
*/
|
*/
|
||||||
std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_EXP projectCloudToCameras (
|
std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_CORE_EXPORT projectCloudToCameras (
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal> & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal> & cloud,
|
||||||
const std::map<int, Transform> & cameraPoses,
|
const std::map<int, Transform> & cameraPoses,
|
||||||
const std::map<int, std::vector<CameraModel> > & cameraModels,
|
const std::map<int, std::vector<CameraModel> > & cameraModels,
|
||||||
@@ -331,11 +333,11 @@ std::vector<std::pair< std::pair<int, int>, pcl::PointXY> > RTABMAP_EXP projectC
|
|||||||
bool distanceToCamPolicy = false,
|
bool distanceToCamPolicy = false,
|
||||||
const ProgressState * state = 0);
|
const ProgressState * state = 0);
|
||||||
|
|
||||||
bool RTABMAP_EXP isFinite(const cv::Point3f & pt);
|
bool RTABMAP_CORE_EXPORT isFinite(const cv::Point3f & pt);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP concatenateClouds(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT concatenateClouds(
|
||||||
const std::list<pcl::PointCloud<pcl::PointXYZ>::Ptr> & clouds);
|
const std::list<pcl::PointCloud<pcl::PointXYZ>::Ptr> & clouds);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP concatenateClouds(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT concatenateClouds(
|
||||||
const std::list<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> & clouds);
|
const std::list<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> & clouds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -347,7 +349,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP concatenateClouds(
|
|||||||
* two set of indices set are disjoint and/or you need sorted indices, the use of mergeIndices().
|
* two set of indices set are disjoint and/or you need sorted indices, the use of mergeIndices().
|
||||||
* @return the indices concatenated.
|
* @return the indices concatenated.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP concatenate(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT concatenate(
|
||||||
const std::vector<pcl::IndicesPtr> & indices);
|
const std::vector<pcl::IndicesPtr> & indices);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -360,16 +362,16 @@ pcl::IndicesPtr RTABMAP_EXP concatenate(
|
|||||||
* two set of indices set are disjoint and/or you need sorted indices, the use of mergeIndices().
|
* two set of indices set are disjoint and/or you need sorted indices, the use of mergeIndices().
|
||||||
* @return the indices concatenated.
|
* @return the indices concatenated.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP concatenate(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT concatenate(
|
||||||
const pcl::IndicesPtr & indicesA,
|
const pcl::IndicesPtr & indicesA,
|
||||||
const pcl::IndicesPtr & indicesB);
|
const pcl::IndicesPtr & indicesB);
|
||||||
|
|
||||||
void RTABMAP_EXP savePCDWords(
|
void RTABMAP_CORE_EXPORT savePCDWords(
|
||||||
const std::string & fileName,
|
const std::string & fileName,
|
||||||
const std::multimap<int, pcl::PointXYZ> & words,
|
const std::multimap<int, pcl::PointXYZ> & words,
|
||||||
const Transform & transform = Transform::getIdentity());
|
const Transform & transform = Transform::getIdentity());
|
||||||
|
|
||||||
void RTABMAP_EXP savePCDWords(
|
void RTABMAP_CORE_EXPORT savePCDWords(
|
||||||
const std::string & fileName,
|
const std::string & fileName,
|
||||||
const std::multimap<int, cv::Point3f> & words,
|
const std::multimap<int, cv::Point3f> & words,
|
||||||
const Transform & transform = Transform::getIdentity());
|
const Transform & transform = Transform::getIdentity());
|
||||||
@@ -378,18 +380,20 @@ void RTABMAP_EXP savePCDWords(
|
|||||||
* Assume KITTI velodyne format
|
* Assume KITTI velodyne format
|
||||||
* Return scan 4 channels (format=XYZI).
|
* Return scan 4 channels (format=XYZI).
|
||||||
*/
|
*/
|
||||||
cv::Mat RTABMAP_EXP loadBINScan(const std::string & fileName);
|
cv::Mat RTABMAP_CORE_EXPORT loadBINScan(const std::string & fileName);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP loadBINCloud(const std::string & fileName);
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT loadBINCloud(const std::string & fileName);
|
||||||
RTABMAP_DEPRECATED(pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP loadBINCloud(const std::string & fileName, int dim), "Use interface without dim argument.");
|
// Use interface without dim argument.
|
||||||
|
RTABMAP_DEPRECATED pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT loadBINCloud(const std::string & fileName, int dim);
|
||||||
|
|
||||||
// Load *.pcd, *.ply or *.bin (KITTI format).
|
// Load *.pcd, *.ply or *.bin (KITTI format).
|
||||||
LaserScan RTABMAP_EXP loadScan(const std::string & path);
|
LaserScan RTABMAP_CORE_EXPORT loadScan(const std::string & path);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP loadCloud(
|
// Use loadScan() instead.
|
||||||
|
RTABMAP_DEPRECATED pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT loadCloud(
|
||||||
const std::string & path,
|
const std::string & path,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
int downsampleStep = 1,
|
int downsampleStep = 1,
|
||||||
float voxelSize = 0.0f), "Use loadScan() instead.");
|
float voxelSize = 0.0f);
|
||||||
|
|
||||||
} // namespace util3d
|
} // namespace util3d
|
||||||
} // namespace rtabmap
|
} // namespace rtabmap
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_CORRESPONDENCES_H_
|
#ifndef UTIL3D_CORRESPONDENCES_H_
|
||||||
#define UTIL3D_CORRESPONDENCES_H_
|
#define UTIL3D_CORRESPONDENCES_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
@@ -44,12 +44,12 @@ namespace util3d
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
void RTABMAP_EXP findCorrespondences(
|
void RTABMAP_CORE_EXPORT findCorrespondences(
|
||||||
const std::multimap<int, cv::KeyPoint> & wordsA,
|
const std::multimap<int, cv::KeyPoint> & wordsA,
|
||||||
const std::multimap<int, cv::KeyPoint> & wordsB,
|
const std::multimap<int, cv::KeyPoint> & wordsB,
|
||||||
std::list<std::pair<cv::Point2f, cv::Point2f> > & pairs);
|
std::list<std::pair<cv::Point2f, cv::Point2f> > & pairs);
|
||||||
|
|
||||||
void RTABMAP_EXP findCorrespondences(
|
void RTABMAP_CORE_EXPORT findCorrespondences(
|
||||||
const std::multimap<int, cv::Point3f> & words1,
|
const std::multimap<int, cv::Point3f> & words1,
|
||||||
const std::multimap<int, cv::Point3f> & words2,
|
const std::multimap<int, cv::Point3f> & words2,
|
||||||
std::vector<cv::Point3f> & inliers1,
|
std::vector<cv::Point3f> & inliers1,
|
||||||
@@ -57,7 +57,7 @@ void RTABMAP_EXP findCorrespondences(
|
|||||||
float maxDepth,
|
float maxDepth,
|
||||||
std::vector<int> * uniqueCorrespondences = 0);
|
std::vector<int> * uniqueCorrespondences = 0);
|
||||||
|
|
||||||
void RTABMAP_EXP findCorrespondences(
|
void RTABMAP_CORE_EXPORT findCorrespondences(
|
||||||
const std::map<int, cv::Point3f> & words1,
|
const std::map<int, cv::Point3f> & words1,
|
||||||
const std::map<int, cv::Point3f> & words2,
|
const std::map<int, cv::Point3f> & words2,
|
||||||
std::vector<cv::Point3f> & inliers1,
|
std::vector<cv::Point3f> & inliers1,
|
||||||
@@ -66,17 +66,17 @@ void RTABMAP_EXP findCorrespondences(
|
|||||||
std::vector<int> * correspondences = 0);
|
std::vector<int> * correspondences = 0);
|
||||||
|
|
||||||
// remove depth by z axis
|
// remove depth by z axis
|
||||||
void RTABMAP_EXP extractXYZCorrespondences(const std::multimap<int, pcl::PointXYZ> & words1,
|
void RTABMAP_CORE_EXPORT extractXYZCorrespondences(const std::multimap<int, pcl::PointXYZ> & words1,
|
||||||
const std::multimap<int, pcl::PointXYZ> & words2,
|
const std::multimap<int, pcl::PointXYZ> & words2,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
||||||
|
|
||||||
void RTABMAP_EXP extractXYZCorrespondencesRANSAC(const std::multimap<int, pcl::PointXYZ> & words1,
|
void RTABMAP_CORE_EXPORT extractXYZCorrespondencesRANSAC(const std::multimap<int, pcl::PointXYZ> & words1,
|
||||||
const std::multimap<int, pcl::PointXYZ> & words2,
|
const std::multimap<int, pcl::PointXYZ> & words2,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
||||||
|
|
||||||
void RTABMAP_EXP extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
void RTABMAP_CORE_EXPORT extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
||||||
const cv::Mat & depthImage1,
|
const cv::Mat & depthImage1,
|
||||||
const cv::Mat & depthImage2,
|
const cv::Mat & depthImage2,
|
||||||
float cx, float cy,
|
float cx, float cy,
|
||||||
@@ -85,23 +85,23 @@ void RTABMAP_EXP extractXYZCorrespondences(const std::list<std::pair<cv::Point2f
|
|||||||
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
pcl::PointCloud<pcl::PointXYZ> & cloud2);
|
||||||
|
|
||||||
void RTABMAP_EXP extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
void RTABMAP_CORE_EXPORT extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
||||||
const pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
const pcl::PointCloud<pcl::PointXYZ> & cloud1,
|
||||||
const pcl::PointCloud<pcl::PointXYZ> & cloud2,
|
const pcl::PointCloud<pcl::PointXYZ> & cloud2,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
||||||
char depthAxis);
|
char depthAxis);
|
||||||
void RTABMAP_EXP extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
void RTABMAP_CORE_EXPORT extractXYZCorrespondences(const std::list<std::pair<cv::Point2f, cv::Point2f> > & correspondences,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB> & cloud1,
|
const pcl::PointCloud<pcl::PointXYZRGB> & cloud1,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB> & cloud2,
|
const pcl::PointCloud<pcl::PointXYZRGB> & cloud2,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
||||||
char depthAxis);
|
char depthAxis);
|
||||||
|
|
||||||
int RTABMAP_EXP countUniquePairs(const std::multimap<int, pcl::PointXYZ> & wordsA,
|
int RTABMAP_CORE_EXPORT countUniquePairs(const std::multimap<int, pcl::PointXYZ> & wordsA,
|
||||||
const std::multimap<int, pcl::PointXYZ> & wordsB);
|
const std::multimap<int, pcl::PointXYZ> & wordsB);
|
||||||
|
|
||||||
void RTABMAP_EXP filterMaxDepth(pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
void RTABMAP_CORE_EXPORT filterMaxDepth(pcl::PointCloud<pcl::PointXYZ> & inliers1,
|
||||||
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
pcl::PointCloud<pcl::PointXYZ> & inliers2,
|
||||||
float maxDepth,
|
float maxDepth,
|
||||||
char depthAxis,
|
char depthAxis,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_FEATURES_H_
|
#ifndef UTIL3D_FEATURES_H_
|
||||||
#define UTIL3D_FEATURES_H_
|
#define UTIL3D_FEATURES_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <opencv2/calib3d/calib3d.hpp>
|
#include <opencv2/calib3d/calib3d.hpp>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
@@ -44,28 +44,28 @@ namespace util3d
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
std::vector<cv::Point3f> RTABMAP_EXP generateKeypoints3DDepth(
|
std::vector<cv::Point3f> RTABMAP_CORE_EXPORT generateKeypoints3DDepth(
|
||||||
const std::vector<cv::KeyPoint> & keypoints,
|
const std::vector<cv::KeyPoint> & keypoints,
|
||||||
const cv::Mat & depth,
|
const cv::Mat & depth,
|
||||||
const CameraModel & cameraModel,
|
const CameraModel & cameraModel,
|
||||||
float minDepth = 0,
|
float minDepth = 0,
|
||||||
float maxDepth = 0);
|
float maxDepth = 0);
|
||||||
|
|
||||||
std::vector<cv::Point3f> RTABMAP_EXP generateKeypoints3DDepth(
|
std::vector<cv::Point3f> RTABMAP_CORE_EXPORT generateKeypoints3DDepth(
|
||||||
const std::vector<cv::KeyPoint> & keypoints,
|
const std::vector<cv::KeyPoint> & keypoints,
|
||||||
const cv::Mat & depth,
|
const cv::Mat & depth,
|
||||||
const std::vector<CameraModel> & cameraModels,
|
const std::vector<CameraModel> & cameraModels,
|
||||||
float minDepth = 0,
|
float minDepth = 0,
|
||||||
float maxDepth = 0);
|
float maxDepth = 0);
|
||||||
|
|
||||||
std::vector<cv::Point3f> RTABMAP_EXP generateKeypoints3DDisparity(
|
std::vector<cv::Point3f> RTABMAP_CORE_EXPORT generateKeypoints3DDisparity(
|
||||||
const std::vector<cv::KeyPoint> & keypoints,
|
const std::vector<cv::KeyPoint> & keypoints,
|
||||||
const cv::Mat & disparity,
|
const cv::Mat & disparity,
|
||||||
const StereoCameraModel & stereoCameraModel,
|
const StereoCameraModel & stereoCameraModel,
|
||||||
float minDepth = 0,
|
float minDepth = 0,
|
||||||
float maxDepth = 0);
|
float maxDepth = 0);
|
||||||
|
|
||||||
std::vector<cv::Point3f> RTABMAP_EXP generateKeypoints3DStereo(
|
std::vector<cv::Point3f> RTABMAP_CORE_EXPORT generateKeypoints3DStereo(
|
||||||
const std::vector<cv::Point2f> & leftCorners,
|
const std::vector<cv::Point2f> & leftCorners,
|
||||||
const std::vector<cv::Point2f> & rightCorners,
|
const std::vector<cv::Point2f> & rightCorners,
|
||||||
const StereoCameraModel & model,
|
const StereoCameraModel & model,
|
||||||
@@ -73,7 +73,7 @@ std::vector<cv::Point3f> RTABMAP_EXP generateKeypoints3DStereo(
|
|||||||
float minDepth = 0,
|
float minDepth = 0,
|
||||||
float maxDepth = 0);
|
float maxDepth = 0);
|
||||||
|
|
||||||
std::map<int, cv::Point3f> RTABMAP_EXP generateWords3DMono(
|
std::map<int, cv::Point3f> RTABMAP_CORE_EXPORT generateWords3DMono(
|
||||||
const std::map<int, cv::KeyPoint> & kpts,
|
const std::map<int, cv::KeyPoint> & kpts,
|
||||||
const std::map<int, cv::KeyPoint> & previousKpts,
|
const std::map<int, cv::KeyPoint> & previousKpts,
|
||||||
const CameraModel & cameraModel,
|
const CameraModel & cameraModel,
|
||||||
@@ -84,7 +84,7 @@ std::map<int, cv::Point3f> RTABMAP_EXP generateWords3DMono(
|
|||||||
double * variance = 0,
|
double * variance = 0,
|
||||||
std::vector<int> * matchesOut = 0);
|
std::vector<int> * matchesOut = 0);
|
||||||
|
|
||||||
std::multimap<int, cv::KeyPoint> RTABMAP_EXP aggregate(
|
std::multimap<int, cv::KeyPoint> RTABMAP_CORE_EXPORT aggregate(
|
||||||
const std::list<int> & wordIds,
|
const std::list<int> & wordIds,
|
||||||
const std::vector<cv::KeyPoint> & keypoints);
|
const std::vector<cv::KeyPoint> & keypoints);
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_FILTERING_H_
|
#ifndef UTIL3D_FILTERING_H_
|
||||||
#define UTIL3D_FILTERING_H_
|
#define UTIL3D_FILTERING_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <pcl/point_cloud.h>
|
#include <pcl/point_cloud.h>
|
||||||
#include <pcl/point_types.h>
|
#include <pcl/point_types.h>
|
||||||
@@ -48,7 +48,7 @@ namespace util3d
|
|||||||
* operations like computing normals while the scan has already
|
* operations like computing normals while the scan has already
|
||||||
* normals and voxel filtering is not used.
|
* normals and voxel filtering is not used.
|
||||||
*/
|
*/
|
||||||
LaserScan RTABMAP_EXP commonFiltering(
|
LaserScan RTABMAP_CORE_EXPORT commonFiltering(
|
||||||
const LaserScan & scan,
|
const LaserScan & scan,
|
||||||
int downsamplingStep,
|
int downsamplingStep,
|
||||||
float rangeMin = 0.0f,
|
float rangeMin = 0.0f,
|
||||||
@@ -57,7 +57,8 @@ LaserScan RTABMAP_EXP commonFiltering(
|
|||||||
int normalK = 0,
|
int normalK = 0,
|
||||||
float normalRadius = 0.0f,
|
float normalRadius = 0.0f,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
RTABMAP_DEPRECATED(LaserScan RTABMAP_EXP commonFiltering(
|
// Use version with groundNormalsUp as float. For forceGroundNormalsUp=true, set groundNormalsUp=0.8, otherwise set groundNormalsUp=0.0.
|
||||||
|
RTABMAP_DEPRECATED LaserScan RTABMAP_CORE_EXPORT commonFiltering(
|
||||||
const LaserScan & scan,
|
const LaserScan & scan,
|
||||||
int downsamplingStep,
|
int downsamplingStep,
|
||||||
float rangeMin,
|
float rangeMin,
|
||||||
@@ -65,75 +66,75 @@ RTABMAP_DEPRECATED(LaserScan RTABMAP_EXP commonFiltering(
|
|||||||
float voxelSize,
|
float voxelSize,
|
||||||
int normalK,
|
int normalK,
|
||||||
float normalRadius,
|
float normalRadius,
|
||||||
bool forceGroundNormalsUp), "Use version with groundNormalsUp as float. For forceGroundNormalsUp=true, set groundNormalsUp=0.8, otherwise set groundNormalsUp=0.0.");
|
bool forceGroundNormalsUp);
|
||||||
|
|
||||||
LaserScan RTABMAP_EXP rangeFiltering(
|
LaserScan RTABMAP_CORE_EXPORT rangeFiltering(
|
||||||
const LaserScan & scan,
|
const LaserScan & scan,
|
||||||
float rangeMin,
|
float rangeMin,
|
||||||
float rangeMax);
|
float rangeMax);
|
||||||
|
|
||||||
LaserScan RTABMAP_EXP downsample(
|
LaserScan RTABMAP_CORE_EXPORT downsample(
|
||||||
const LaserScan & cloud,
|
const LaserScan & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP downsample(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT downsample(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
int step);
|
int step);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP voxelize(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT voxelize(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
float voxelSize);
|
float voxelSize);
|
||||||
|
|
||||||
@@ -157,185 +158,185 @@ inline pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr uniformSampling(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP randomSampling(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT randomSampling(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
int samples);
|
int samples);
|
||||||
|
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP passThrough(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP passThrough(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT passThrough(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const std::string & axis,
|
const std::string & axis,
|
||||||
float min,
|
float min,
|
||||||
float max,
|
float max,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PCLPointCloud2::Ptr & cloud,
|
const pcl::PCLPointCloud2::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::IndicesPtr RTABMAP_EXP cropBox(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
const Transform & transform = Transform::getIdentity(),
|
const Transform & transform = Transform::getIdentity(),
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP cropBox(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT cropBox(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const Eigen::Vector4f & min,
|
const Eigen::Vector4f & min,
|
||||||
const Eigen::Vector4f & max,
|
const Eigen::Vector4f & max,
|
||||||
@@ -343,7 +344,7 @@ pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP cropBox(
|
|||||||
bool negative = false);
|
bool negative = false);
|
||||||
|
|
||||||
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
||||||
pcl::IndicesPtr RTABMAP_EXP frustumFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT frustumFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const Transform & cameraPose,
|
const Transform & cameraPose,
|
||||||
@@ -353,7 +354,7 @@ pcl::IndicesPtr RTABMAP_EXP frustumFiltering(
|
|||||||
float farClipPlaneDistance,
|
float farClipPlaneDistance,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP frustumFiltering(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT frustumFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const Transform & cameraPose,
|
const Transform & cameraPose,
|
||||||
float horizontalFOV, // in degrees, xfov = atan((image_width/2)/fx)*2
|
float horizontalFOV, // in degrees, xfov = atan((image_width/2)/fx)*2
|
||||||
@@ -362,7 +363,7 @@ pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP frustumFiltering(
|
|||||||
float farClipPlaneDistance,
|
float farClipPlaneDistance,
|
||||||
bool negative = false);
|
bool negative = false);
|
||||||
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
//Note: This assumes a coordinate system where X is forward, * Y is up, and Z is right.
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP frustumFiltering(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT frustumFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const Transform & cameraPose,
|
const Transform & cameraPose,
|
||||||
float horizontalFOV, // in degrees, xfov = atan((image_width/2)/fx)*2
|
float horizontalFOV, // in degrees, xfov = atan((image_width/2)/fx)*2
|
||||||
@@ -372,48 +373,48 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP frustumFiltering(
|
|||||||
bool negative = false);
|
bool negative = false);
|
||||||
|
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP removeNaNFromPointCloud(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT removeNaNFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP removeNaNFromPointCloud(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT removeNaNFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP removeNaNFromPointCloud(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT removeNaNFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud);
|
||||||
pcl::PCLPointCloud2::Ptr RTABMAP_EXP removeNaNFromPointCloud(
|
pcl::PCLPointCloud2::Ptr RTABMAP_CORE_EXPORT removeNaNFromPointCloud(
|
||||||
const pcl::PCLPointCloud2::Ptr & cloud);
|
const pcl::PCLPointCloud2::Ptr & cloud);
|
||||||
|
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP removeNaNNormalsFromPointCloud(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT removeNaNNormalsFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP removeNaNNormalsFromPointCloud(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT removeNaNNormalsFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP removeNaNNormalsFromPointCloud(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT removeNaNNormalsFromPointCloud(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud);
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
@@ -430,69 +431,69 @@ pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
|||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
pcl::IndicesPtr RTABMAP_EXP radiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT radiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
int minNeighborsInRadius);
|
int minNeighborsInRadius);
|
||||||
|
|
||||||
/* for convenience */
|
/* for convenience */
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
@@ -511,42 +512,42 @@ pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
|||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
const std::map<int, Transform> & viewpoints,
|
const std::map<int, Transform> & viewpoints,
|
||||||
float factor=0.01f,
|
float factor=0.01f,
|
||||||
float neighborScale=2.0f);
|
float neighborScale=2.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT proportionalRadiusFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const std::vector<int> & viewpointIndices,
|
const std::vector<int> & viewpointIndices,
|
||||||
@@ -557,7 +558,7 @@ pcl::IndicesPtr RTABMAP_EXP proportionalRadiusFiltering(
|
|||||||
/**
|
/**
|
||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP subtractFiltering(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
@@ -572,7 +573,7 @@ pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP subtractFiltering(
|
|||||||
* @param radiusSearch the radius in meter.
|
* @param radiusSearch the radius in meter.
|
||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
||||||
@@ -583,7 +584,7 @@ pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
|||||||
/**
|
/**
|
||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP subtractFiltering(
|
pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & substractCloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
@@ -599,7 +600,7 @@ pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP subtractFiltering(
|
|||||||
* @param radiusSearch the radius in meter.
|
* @param radiusSearch the radius in meter.
|
||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & substractCloud,
|
||||||
@@ -611,13 +612,13 @@ pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
|||||||
/**
|
/**
|
||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP subtractFiltering(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & substractCloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
float maxAngle = M_PI/4.0f,
|
float maxAngle = M_PI/4.0f,
|
||||||
int minNeighborsInRadius = 1);
|
int minNeighborsInRadius = 1);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP subtractFiltering(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
@@ -633,7 +634,7 @@ pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP subtractFiltering(
|
|||||||
* @param radiusSearch the radius in meter.
|
* @param radiusSearch the radius in meter.
|
||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & substractCloud,
|
||||||
@@ -641,7 +642,7 @@ pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
|||||||
float radiusSearch,
|
float radiusSearch,
|
||||||
float maxAngle = M_PI/4.0f,
|
float maxAngle = M_PI/4.0f,
|
||||||
int minNeighborsInRadius = 1);
|
int minNeighborsInRadius = 1);
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
||||||
@@ -659,7 +660,7 @@ pcl::IndicesPtr RTABMAP_EXP subtractFiltering(
|
|||||||
* @param radiusSearchRatio the ratio used to compute the radius at different distances (e.g., a ratio of 0.1 at 4 m results in a radius of 4 cm).
|
* @param radiusSearchRatio the ratio used to compute the radius at different distances (e.g., a ratio of 0.1 at 4 m results in a radius of 4 cm).
|
||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractAdaptiveFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractAdaptiveFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & substractCloud,
|
||||||
@@ -677,7 +678,7 @@ pcl::IndicesPtr RTABMAP_EXP subtractAdaptiveFiltering(
|
|||||||
* @param radiusSearchRatio the ratio used to compute the radius at different distances (e.g., a ratio of 0.01 at 4 m results in a radius of 4 cm).
|
* @param radiusSearchRatio the ratio used to compute the radius at different distances (e.g., a ratio of 0.01 at 4 m results in a radius of 4 cm).
|
||||||
* @return the indices of the points satisfying the parameters.
|
* @return the indices of the points satisfying the parameters.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP subtractAdaptiveFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT subtractAdaptiveFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & substractCloud,
|
||||||
@@ -692,14 +693,14 @@ pcl::IndicesPtr RTABMAP_EXP subtractAdaptiveFiltering(
|
|||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
const Eigen::Vector4f & normal,
|
const Eigen::Vector4f & normal,
|
||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
const Eigen::Vector4f & normal,
|
const Eigen::Vector4f & normal,
|
||||||
@@ -723,7 +724,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
* @param viewpoint from which viewpoint the normals should be estimated (see pcl::NormalEstimation).
|
* @param viewpoint from which viewpoint the normals should be estimated (see pcl::NormalEstimation).
|
||||||
* @return the indices of the points which respect the normal constraint.
|
* @return the indices of the points which respect the normal constraint.
|
||||||
*/
|
*/
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -731,7 +732,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -739,7 +740,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -747,7 +748,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -755,7 +756,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -763,7 +764,7 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
int normalKSearch,
|
int normalKSearch,
|
||||||
const Eigen::Vector4f & viewpoint,
|
const Eigen::Vector4f & viewpoint,
|
||||||
float groundNormalsUp = 0.0f);
|
float groundNormalsUp = 0.0f);
|
||||||
pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT normalFiltering(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float angleMax,
|
float angleMax,
|
||||||
@@ -775,13 +776,13 @@ pcl::IndicesPtr RTABMAP_EXP normalFiltering(
|
|||||||
/**
|
/**
|
||||||
* For convenience.
|
* For convenience.
|
||||||
*/
|
*/
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
@@ -800,42 +801,42 @@ std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
|||||||
* @param biggestClusterIndex the index of the biggest cluster, if the clusters are empty, a negative index is set.
|
* @param biggestClusterIndex the index of the biggest cluster, if the clusters are empty, a negative index is set.
|
||||||
* @return the indices of each cluster found.
|
* @return the indices of each cluster found.
|
||||||
*/
|
*/
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
int minClusterSize,
|
int minClusterSize,
|
||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
std::vector<pcl::IndicesPtr> RTABMAP_CORE_EXPORT extractClusters(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
float clusterTolerance,
|
float clusterTolerance,
|
||||||
@@ -843,58 +844,58 @@ std::vector<pcl::IndicesPtr> RTABMAP_EXP extractClusters(
|
|||||||
int maxClusterSize = std::numeric_limits<int>::max(),
|
int maxClusterSize = std::numeric_limits<int>::max(),
|
||||||
int * biggestClusterIndex = 0);
|
int * biggestClusterIndex = 0);
|
||||||
|
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
pcl::IndicesPtr RTABMAP_EXP extractIndices(
|
pcl::IndicesPtr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative);
|
bool negative);
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_EXP extractIndices(
|
pcl::PointCloud<pcl::PointXYZ>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZ>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative,
|
bool negative,
|
||||||
bool keepOrganized);
|
bool keepOrganized);
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_EXP extractIndices(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative,
|
bool negative,
|
||||||
bool keepOrganized);
|
bool keepOrganized);
|
||||||
// PCL default lacks of pcl::PointNormal type support
|
// PCL default lacks of pcl::PointNormal type support
|
||||||
//pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_EXP extractIndices(
|
//pcl::PointCloud<pcl::PointNormal>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
// const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
// const pcl::PointCloud<pcl::PointNormal>::Ptr & cloud,
|
||||||
// const pcl::IndicesPtr & indices,
|
// const pcl::IndicesPtr & indices,
|
||||||
// bool negative,
|
// bool negative,
|
||||||
// bool keepOrganized);
|
// bool keepOrganized);
|
||||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_EXP extractIndices(
|
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative,
|
bool negative,
|
||||||
bool keepOrganized);
|
bool keepOrganized);
|
||||||
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_EXP extractIndices(
|
pcl::PointCloud<pcl::PointXYZI>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZI>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative,
|
bool negative,
|
||||||
bool keepOrganized);
|
bool keepOrganized);
|
||||||
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_EXP extractIndices(
|
pcl::PointCloud<pcl::PointXYZINormal>::Ptr RTABMAP_CORE_EXPORT extractIndices(
|
||||||
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
const pcl::PointCloud<pcl::PointXYZINormal>::Ptr & cloud,
|
||||||
const pcl::IndicesPtr & indices,
|
const pcl::IndicesPtr & indices,
|
||||||
bool negative,
|
bool negative,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_MAPPING_H_
|
#ifndef UTIL3D_MAPPING_H_
|
||||||
#define UTIL3D_MAPPING_H_
|
#define UTIL3D_MAPPING_H_
|
||||||
|
|
||||||
#include "rtabmap/core/RtabmapExp.h"
|
#include "rtabmap/core/rtabmap_core_export.h"
|
||||||
|
|
||||||
#include <opencv2/core/core.hpp>
|
#include <opencv2/core/core.hpp>
|
||||||
#include <map>
|
#include <map>
|
||||||
@@ -43,24 +43,26 @@ namespace rtabmap
|
|||||||
namespace util3d
|
namespace util3d
|
||||||
{
|
{
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(void RTABMAP_EXP occupancy2DFromLaserScan(
|
// Use interface with \"viewpoint\" parameter to make sure the ray tracing origin is from the sensor and not the base.
|
||||||
|
RTABMAP_DEPRECATED void RTABMAP_CORE_EXPORT occupancy2DFromLaserScan(
|
||||||
const cv::Mat & scan, // in /base_link frame
|
const cv::Mat & scan, // in /base_link frame
|
||||||
cv::Mat & empty,
|
cv::Mat & empty,
|
||||||
cv::Mat & occupied,
|
cv::Mat & occupied,
|
||||||
float cellSize,
|
float cellSize,
|
||||||
bool unknownSpaceFilled = false,
|
bool unknownSpaceFilled = false,
|
||||||
float scanMaxRange = 0.0f), "Use interface with \"viewpoint\" parameter to make sure the ray tracing origin is from the sensor and not the base.");
|
float scanMaxRange = 0.0f);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(void RTABMAP_EXP occupancy2DFromLaserScan(
|
// Use interface with scanHit/scanNoHit parameters: scanNoHit set to null matrix has the same functionality than this method.
|
||||||
|
RTABMAP_DEPRECATED void RTABMAP_CORE_EXPORT occupancy2DFromLaserScan(
|
||||||
const cv::Mat & scan, // in /base_link frame
|
const cv::Mat & scan, // in /base_link frame
|
||||||
const cv::Point3f & viewpoint, // /base_link -> /base_scan
|
const cv::Point3f & viewpoint, // /base_link -> /base_scan
|
||||||
cv::Mat & empty,
|
cv::Mat & empty,
|
||||||
cv::Mat & occupied,
|
cv::Mat & occupied,
|
||||||
float cellSize,
|
float cellSize,
|
||||||
bool unknownSpaceFilled = false,
|
bool unknownSpaceFilled = false,
|
||||||
float scanMaxRange = 0.0f), "Use interface with scanHit/scanNoHit parameters: scanNoHit set to null matrix has the same functionality than this method.");
|
float scanMaxRange = 0.0f);
|
||||||
|
|
||||||
void RTABMAP_EXP occupancy2DFromLaserScan(
|
void RTABMAP_CORE_EXPORT occupancy2DFromLaserScan(
|
||||||
const cv::Mat & scanHit, // in /base_link frame
|
const cv::Mat & scanHit, // in /base_link frame
|
||||||
const cv::Mat & scanNoHit, // in /base_link frame
|
const cv::Mat & scanNoHit, // in /base_link frame
|
||||||
const cv::Point3f & viewpoint, // /base_link -> /base_scan
|
const cv::Point3f & viewpoint, // /base_link -> /base_scan
|
||||||
@@ -70,7 +72,7 @@ void RTABMAP_EXP occupancy2DFromLaserScan(
|
|||||||
bool unknownSpaceFilled = false,
|
bool unknownSpaceFilled = false,
|
||||||
float scanMaxRange = 0.0f); // would be set if unknownSpaceFilled=true
|
float scanMaxRange = 0.0f); // would be set if unknownSpaceFilled=true
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP create2DMapFromOccupancyLocalMaps(
|
cv::Mat RTABMAP_CORE_EXPORT create2DMapFromOccupancyLocalMaps(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
const std::map<int, std::pair<cv::Mat, cv::Mat> > & occupancy,
|
const std::map<int, std::pair<cv::Mat, cv::Mat> > & occupancy,
|
||||||
float cellSize,
|
float cellSize,
|
||||||
@@ -80,16 +82,18 @@ cv::Mat RTABMAP_EXP create2DMapFromOccupancyLocalMaps(
|
|||||||
bool erode = false,
|
bool erode = false,
|
||||||
float footprintRadius = 0.0f);
|
float footprintRadius = 0.0f);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform> & poses,
|
// Use interface with \"viewpoints\" parameter to make sure the ray tracing origin is from the sensor and not the base.
|
||||||
|
RTABMAP_DEPRECATED cv::Mat RTABMAP_CORE_EXPORT create2DMap(const std::map<int, Transform> & poses,
|
||||||
const std::map<int, pcl::PointCloud<pcl::PointXYZ>::Ptr > & scans, // in /base_link frame
|
const std::map<int, pcl::PointCloud<pcl::PointXYZ>::Ptr > & scans, // in /base_link frame
|
||||||
float cellSize,
|
float cellSize,
|
||||||
bool unknownSpaceFilled,
|
bool unknownSpaceFilled,
|
||||||
float & xMin,
|
float & xMin,
|
||||||
float & yMin,
|
float & yMin,
|
||||||
float minMapSize = 0.0f,
|
float minMapSize = 0.0f,
|
||||||
float scanMaxRange = 0.0f), "Use interface with \"viewpoints\" parameter to make sure the ray tracing origin is from the sensor and not the base.");
|
float scanMaxRange = 0.0f);
|
||||||
|
|
||||||
RTABMAP_DEPRECATED(cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform> & poses,
|
// Use interface with cv::Mat scans.
|
||||||
|
RTABMAP_DEPRECATED cv::Mat RTABMAP_CORE_EXPORT create2DMap(const std::map<int, Transform> & poses,
|
||||||
const std::map<int, pcl::PointCloud<pcl::PointXYZ>::Ptr > & scans, // in /base_link frame
|
const std::map<int, pcl::PointCloud<pcl::PointXYZ>::Ptr > & scans, // in /base_link frame
|
||||||
const std::map<int, cv::Point3f > & viewpoints, // /base_link -> /base_scan
|
const std::map<int, cv::Point3f > & viewpoints, // /base_link -> /base_scan
|
||||||
float cellSize,
|
float cellSize,
|
||||||
@@ -97,7 +101,7 @@ RTABMAP_DEPRECATED(cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform
|
|||||||
float & xMin,
|
float & xMin,
|
||||||
float & yMin,
|
float & yMin,
|
||||||
float minMapSize = 0.0f,
|
float minMapSize = 0.0f,
|
||||||
float scanMaxRange = 0.0f), "Use interface with cv::Mat scans.");
|
float scanMaxRange = 0.0f);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create 2d Occupancy grid (CV_8S)
|
* Create 2d Occupancy grid (CV_8S)
|
||||||
@@ -114,7 +118,7 @@ RTABMAP_DEPRECATED(cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform
|
|||||||
* @param minMapSize minimum map size in meters
|
* @param minMapSize minimum map size in meters
|
||||||
* @param scanMaxRange laser scan maximum range, would be set if unknownSpaceFilled=true
|
* @param scanMaxRange laser scan maximum range, would be set if unknownSpaceFilled=true
|
||||||
*/
|
*/
|
||||||
cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform> & poses,
|
cv::Mat RTABMAP_CORE_EXPORT create2DMap(const std::map<int, Transform> & poses,
|
||||||
const std::map<int, std::pair<cv::Mat, cv::Mat> > & scans, // <id, <hit, no hit> >, in /base_link frame
|
const std::map<int, std::pair<cv::Mat, cv::Mat> > & scans, // <id, <hit, no hit> >, in /base_link frame
|
||||||
const std::map<int, cv::Point3f > & viewpoints, // /base_link -> /base_scan
|
const std::map<int, cv::Point3f > & viewpoints, // /base_link -> /base_scan
|
||||||
float cellSize,
|
float cellSize,
|
||||||
@@ -124,15 +128,15 @@ cv::Mat RTABMAP_EXP create2DMap(const std::map<int, Transform> & poses,
|
|||||||
float minMapSize = 0.0f,
|
float minMapSize = 0.0f,
|
||||||
float scanMaxRange = 0.0f); // would be set if unknownSpaceFilled=true
|
float scanMaxRange = 0.0f); // would be set if unknownSpaceFilled=true
|
||||||
|
|
||||||
void RTABMAP_EXP rayTrace(const cv::Point2i & start,
|
void RTABMAP_CORE_EXPORT rayTrace(const cv::Point2i & start,
|
||||||
const cv::Point2i & end,
|
const cv::Point2i & end,
|
||||||
cv::Mat & grid,
|
cv::Mat & grid,
|
||||||
bool stopOnObstacle);
|
bool stopOnObstacle);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP convertMap2Image8U(const cv::Mat & map8S, bool pgmFormat = false);
|
cv::Mat RTABMAP_CORE_EXPORT convertMap2Image8U(const cv::Mat & map8S, bool pgmFormat = false);
|
||||||
cv::Mat RTABMAP_EXP convertImage8U2Map(const cv::Mat & map8U, bool pgmFormat = false);
|
cv::Mat RTABMAP_CORE_EXPORT convertImage8U2Map(const cv::Mat & map8U, bool pgmFormat = false);
|
||||||
|
|
||||||
cv::Mat RTABMAP_EXP erodeMap(const cv::Mat & map);
|
cv::Mat RTABMAP_CORE_EXPORT erodeMap(const cv::Mat & map);
|
||||||
|
|
||||||
template<typename PointT>
|
template<typename PointT>
|
||||||
typename pcl::PointCloud<PointT>::Ptr projectCloudOnXYPlane(
|
typename pcl::PointCloud<PointT>::Ptr projectCloudOnXYPlane(
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef UTIL3D_MOTION_ESTIMATION_H_
|
#ifndef UTIL3D_MOTION_ESTIMATION_H_
|
||||||
#define UTIL3D_MOTION_ESTIMATION_H_
|
#define UTIL3D_MOTION_ESTIMATION_H_
|
||||||
|
|
||||||
#include <rtabmap/core/RtabmapExp.h>
|
#include <rtabmap/core/rtabmap_core_export.h>
|
||||||
|
|
||||||
#include <rtabmap/core/Transform.h>
|
#include <rtabmap/core/Transform.h>
|
||||||
#include <rtabmap/core/CameraModel.h>
|
#include <rtabmap/core/CameraModel.h>
|
||||||
@@ -39,7 +39,7 @@ namespace rtabmap
|
|||||||
namespace util3d
|
namespace util3d
|
||||||
{
|
{
|
||||||
|
|
||||||
Transform RTABMAP_EXP estimateMotion3DTo2D(
|
Transform RTABMAP_CORE_EXPORT estimateMotion3DTo2D(
|
||||||
const std::map<int, cv::Point3f> & words3A,
|
const std::map<int, cv::Point3f> & words3A,
|
||||||
const std::map<int, cv::KeyPoint> & words2B,
|
const std::map<int, cv::KeyPoint> & words2B,
|
||||||
const CameraModel & cameraModel,
|
const CameraModel & cameraModel,
|
||||||
@@ -55,7 +55,7 @@ Transform RTABMAP_EXP estimateMotion3DTo2D(
|
|||||||
std::vector<int> * matchesOut = 0,
|
std::vector<int> * matchesOut = 0,
|
||||||
std::vector<int> * inliersOut = 0);
|
std::vector<int> * inliersOut = 0);
|
||||||
|
|
||||||
Transform RTABMAP_EXP estimateMotion3DTo2D(
|
Transform RTABMAP_CORE_EXPORT estimateMotion3DTo2D(
|
||||||
const std::map<int, cv::Point3f> & words3A,
|
const std::map<int, cv::Point3f> & words3A,
|
||||||
const std::map<int, cv::KeyPoint> & words2B,
|
const std::map<int, cv::KeyPoint> & words2B,
|
||||||
const std::vector<CameraModel> & cameraModels,
|
const std::vector<CameraModel> & cameraModels,
|
||||||
@@ -71,7 +71,7 @@ Transform RTABMAP_EXP estimateMotion3DTo2D(
|
|||||||
std::vector<int> * matchesOut = 0,
|
std::vector<int> * matchesOut = 0,
|
||||||
std::vector<int> * inliersOut = 0);
|
std::vector<int> * inliersOut = 0);
|
||||||
|
|
||||||
Transform RTABMAP_EXP estimateMotion3DTo3D(
|
Transform RTABMAP_CORE_EXPORT estimateMotion3DTo3D(
|
||||||
const std::map<int, cv::Point3f> & words3A,
|
const std::map<int, cv::Point3f> & words3A,
|
||||||
const std::map<int, cv::Point3f> & words3B,
|
const std::map<int, cv::Point3f> & words3B,
|
||||||
int minInliers = 10,
|
int minInliers = 10,
|
||||||
@@ -82,7 +82,7 @@ Transform RTABMAP_EXP estimateMotion3DTo3D(
|
|||||||
std::vector<int> * matchesOut = 0,
|
std::vector<int> * matchesOut = 0,
|
||||||
std::vector<int> * inliersOut = 0);
|
std::vector<int> * inliersOut = 0);
|
||||||
|
|
||||||
void RTABMAP_EXP solvePnPRansac(
|
void RTABMAP_CORE_EXPORT solvePnPRansac(
|
||||||
const std::vector<cv::Point3f> & objectPoints,
|
const std::vector<cv::Point3f> & objectPoints,
|
||||||
const std::vector<cv::Point2f> & imagePoints,
|
const std::vector<cv::Point2f> & imagePoints,
|
||||||
const cv::Mat & cameraMatrix,
|
const cv::Mat & cameraMatrix,
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user