fast_edge_estimation_3d_omp.hpp
Go to the documentation of this file.
00001 
00063 #ifndef __IMPL_FAST_EDGE_ESTIMATION_3D_OMP_H__
00064 #define __IMPL_FAST_EDGE_ESTIMATION_3D_OMP_H__
00065 
00066 #include "cob_3d_features/fast_edge_estimation_3d_omp.h"
00067 
00068 template <typename PointInT, typename PointNT, typename PointOutT> void
00069 cob_3d_features::FastEdgeEstimation3DOMP<PointInT, PointNT, PointOutT>::computeFeature (
00070   PointCloudOut &output)
00071 {
00072   int threadsize = 1;
00073 
00074 #pragma omp parallel for schedule (dynamic, threadsize)
00075   for (size_t i=0; i < indices_->size(); ++i)
00076   {
00077     Eigen::Vector3f normal;
00078     std::vector<int> nn_indices;
00079     if (isnan(normals_->points[(*indices_)[i]].normal[0]))
00080       output.points[(*indices_)[i]].strength=2;
00081     else
00082     {
00083       this->searchForNeighbors ((*indices_)[i], nn_indices);
00084 
00085       normal[0] = normals_->points[(*indices_)[i]].normal_x;
00086       normal[1] = normals_->points[(*indices_)[i]].normal_y;
00087       normal[2] = normals_->points[(*indices_)[i]].normal_z;
00088       // Estimate whether the point is lying on a boundary surface or not
00089       isEdgePoint (*surface_, input_->points[(*indices_)[i]], nn_indices,
00090                    normal, output.points[(*indices_)[i]].strength);
00091     }
00092   }
00093 }
00094 
00095 #define PCL_INSTANTIATE_FastEdgeEstimation3DOMP(PointInT,PointNT,PointOutT) template class PCL_EXPORTS cob_3d_features::FastEdgeEstimation3DOMP<PointInT, PointNT, PointOutT>;
00096 
00097 #endif    // __IMPL_FAST_EDGE_ESTIMATION_3D_H__


cob_3d_features
Author(s): Georg Arbeiter
autogenerated on Wed Aug 26 2015 11:02:26