mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
CMake: Added PCL_OMP option (default ON) to use OMP implementations of some PCL classes (#50)
This commit is contained in:
@@ -139,6 +139,7 @@ option(WITH_CVSBA "Include cvsba support" ON)
|
||||
option(WITH_FLYCAPTURE2 "Include FlyCapture2/Triclops support" ON)
|
||||
option(WITH_ZED "Include ZED sdk support" ON)
|
||||
option(WITH_OCTOMAP "Include Octomap support" ON)
|
||||
option(PCL_OMP "With PCL OMP implementations" ON)
|
||||
|
||||
FIND_PACKAGE(OpenCV REQUIRED QUIET)
|
||||
FIND_PACKAGE(PCL 1.7 REQUIRED QUIET)
|
||||
@@ -158,6 +159,9 @@ if(OPENMP_FOUND)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
message (STATUS "Found OpenMP")
|
||||
if(PCL_OMP)
|
||||
add_definitions(-DPCL_OMP)
|
||||
endif(PCL_OMP)
|
||||
else(OPENMP_FOUND)
|
||||
message (STATUS "Not found OpenMP")
|
||||
endif()
|
||||
|
||||
@@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <pcl/filters/random_sample.h>
|
||||
#include <pcl/filters/passthrough.h>
|
||||
|
||||
#include <pcl/features/normal_3d.h>
|
||||
#include <pcl/features/normal_3d_omp.h>
|
||||
|
||||
#include <pcl/search/kdtree.h>
|
||||
|
||||
@@ -1308,7 +1308,7 @@ pcl::IndicesPtr normalFiltering(
|
||||
typedef pcl::search::KdTree<pcl::PointXYZ> KdTree;
|
||||
typedef KdTree::Ptr KdTreePtr;
|
||||
|
||||
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne;
|
||||
pcl::NormalEstimationOMP<pcl::PointXYZ, pcl::Normal> ne;
|
||||
ne.setInputCloud (cloud);
|
||||
if(indices->size())
|
||||
{
|
||||
@@ -1368,7 +1368,7 @@ pcl::IndicesPtr normalFiltering(
|
||||
typedef pcl::search::KdTree<pcl::PointXYZRGB> KdTree;
|
||||
typedef KdTree::Ptr KdTreePtr;
|
||||
|
||||
pcl::NormalEstimation<pcl::PointXYZRGB, pcl::Normal> ne;
|
||||
pcl::NormalEstimationOMP<pcl::PointXYZRGB, pcl::Normal> ne;
|
||||
ne.setInputCloud (cloud);
|
||||
if(indices->size())
|
||||
{
|
||||
|
||||
@@ -33,7 +33,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <pcl/search/kdtree.h>
|
||||
#include <pcl/surface/gp3.h>
|
||||
#include <pcl/features/normal_3d_omp.h>
|
||||
#include <pcl/features/normal_3d.h>
|
||||
#include <pcl/surface/mls.h>
|
||||
#include <pcl/surface/texture_mapping.h>
|
||||
#include <pcl/features/integral_image_normal.h>
|
||||
@@ -619,7 +618,11 @@ pcl::PointCloud<pcl::Normal>::Ptr computeNormals(
|
||||
}
|
||||
|
||||
// Normal estimation*
|
||||
#ifdef PCL_OMP
|
||||
pcl::NormalEstimationOMP<pcl::PointXYZ, pcl::Normal> n;
|
||||
#else
|
||||
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> n;
|
||||
#endif
|
||||
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);
|
||||
n.setInputCloud (cloud);
|
||||
// Commented: Keep the output normals size the same as the input cloud
|
||||
@@ -660,7 +663,11 @@ pcl::PointCloud<pcl::Normal>::Ptr computeNormals(
|
||||
}
|
||||
|
||||
// Normal estimation*
|
||||
#ifdef PCL_OMP
|
||||
pcl::NormalEstimationOMP<pcl::PointXYZRGB, pcl::Normal> n;
|
||||
#else
|
||||
pcl::NormalEstimation<pcl::PointXYZRGB, pcl::Normal> n;
|
||||
#endif
|
||||
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);
|
||||
n.setInputCloud (cloud);
|
||||
// Commented: Keep the output normals size the same as the input cloud
|
||||
|
||||
Reference in New Issue
Block a user